// <auto-generated />
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using SessionCompanion.Database;

namespace SessionCompanion.Database.Migrations
{
    [DbContext(typeof(ApplicationDbContext))]
    [Migration("20201228114303_Class name fix")]
    partial class Classnamefix
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .UseIdentityColumns()
                .HasAnnotation("Relational:MaxIdentifierLength", 128)
                .HasAnnotation("ProductVersion", "5.0.0");

            modelBuilder.Entity("SessionCompanion.Database.Tables.Alignment", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.HasKey("Id");

                    b.ToTable("Alignments");

                    b.HasData(
                        new
                        {
                            Id = 1
                        },
                        new
                        {
                            Id = 2
                        },
                        new
                        {
                            Id = 3
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Background", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.HasKey("Id");

                    b.ToTable("Backgrounds");

                    b.HasData(
                        new
                        {
                            Id = 1
                        },
                        new
                        {
                            Id = 2
                        },
                        new
                        {
                            Id = 3
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Biography", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("AlignmentId")
                        .HasColumnType("int");

                    b.Property<int>("BackgroundId")
                        .HasColumnType("int");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("ClassId")
                        .HasColumnType("int");

                    b.Property<string>("Name")
                        .HasColumnType("nvarchar(max)");

                    b.Property<int>("RaceId")
                        .HasColumnType("int");

                    b.Property<string>("Sex")
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("AlignmentId");

                    b.HasIndex("BackgroundId");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.HasIndex("ClassId");

                    b.HasIndex("RaceId");

                    b.ToTable("Biographies");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            AlignmentId = 1,
                            BackgroundId = 1,
                            CharacterId = 1,
                            ClassId = 1,
                            Name = "Bob",
                            RaceId = 1,
                            Sex = "Male"
                        },
                        new
                        {
                            Id = 2,
                            AlignmentId = 2,
                            BackgroundId = 2,
                            CharacterId = 2,
                            ClassId = 2,
                            Name = "Queen Daenerys Stormborn of the House Targaryen, the First of Her Name, Queen of the Andals, the Rhoynar and the First Men, Lady of the Seven Kingdoms and Protector of the Realm, Lady of Dragonstone, Queen of Meereen, Khaleesi of the Great Grass Sea, the Unburnt, Breaker of Chains and Mother of Dragons.",
                            RaceId = 2,
                            Sex = "Female"
                        },
                        new
                        {
                            Id = 3,
                            AlignmentId = 3,
                            BackgroundId = 3,
                            CharacterId = 3,
                            ClassId = 3,
                            Name = "Gandalf the White",
                            RaceId = 3,
                            Sex = "Both"
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Character", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("UserId")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("UserId");

                    b.ToTable("Characters");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            UserId = 1
                        },
                        new
                        {
                            Id = 2,
                            UserId = 2
                        },
                        new
                        {
                            Id = 3,
                            UserId = 3
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Charisma", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<bool>("CanDeception")
                        .HasColumnType("bit");

                    b.Property<bool>("CanIntimidation")
                        .HasColumnType("bit");

                    b.Property<bool>("CanPerformance")
                        .HasColumnType("bit");

                    b.Property<bool>("CanPersuasion")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSaveThrows")
                        .HasColumnType("bit");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("Deception")
                        .HasColumnType("int");

                    b.Property<int>("Intimidation")
                        .HasColumnType("int");

                    b.Property<int>("Modification")
                        .HasColumnType("int");

                    b.Property<int>("Performance")
                        .HasColumnType("int");

                    b.Property<int>("Persuasion")
                        .HasColumnType("int");

                    b.Property<int>("SavingThrows")
                        .HasColumnType("int");

                    b.Property<int>("Value")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Charismas");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Class", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<string>("Name")
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.ToTable("Classes");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Name = "Fighter"
                        },
                        new
                        {
                            Id = 2,
                            Name = "Paladin"
                        },
                        new
                        {
                            Id = 3,
                            Name = "Cleric"
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Constitution", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<bool>("CanSaveThrows")
                        .HasColumnType("bit");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("Modification")
                        .HasColumnType("int");

                    b.Property<int>("SavingThrows")
                        .HasColumnType("int");

                    b.Property<int>("Value")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Constitutions");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Dexterity", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("Acrobatics")
                        .HasColumnType("int");

                    b.Property<bool>("CanAcrobatics")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSaveThrows")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSleightOfHand")
                        .HasColumnType("bit");

                    b.Property<bool>("CanStealth")
                        .HasColumnType("bit");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("Modification")
                        .HasColumnType("int");

                    b.Property<int>("SavingThrows")
                        .HasColumnType("int");

                    b.Property<int>("SleightOfHand")
                        .HasColumnType("int");

                    b.Property<int>("Stealth")
                        .HasColumnType("int");

                    b.Property<int>("Value")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Dexterities");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Intelligence", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("Arcana")
                        .HasColumnType("int");

                    b.Property<bool>("CanArcana")
                        .HasColumnType("bit");

                    b.Property<bool>("CanHistory")
                        .HasColumnType("bit");

                    b.Property<bool>("CanInvestigation")
                        .HasColumnType("bit");

                    b.Property<bool>("CanNature")
                        .HasColumnType("bit");

                    b.Property<bool>("CanReligion")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSaveThrows")
                        .HasColumnType("bit");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("History")
                        .HasColumnType("int");

                    b.Property<int>("Investigation")
                        .HasColumnType("int");

                    b.Property<int>("Modification")
                        .HasColumnType("int");

                    b.Property<int>("Nature")
                        .HasColumnType("int");

                    b.Property<int>("Religion")
                        .HasColumnType("int");

                    b.Property<int>("SavingThrows")
                        .HasColumnType("int");

                    b.Property<int>("Value")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Intelligences");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Race", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<string>("Name")
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.ToTable("Races");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Name = "Human"
                        },
                        new
                        {
                            Id = 2,
                            Name = "Dwarf"
                        },
                        new
                        {
                            Id = 3,
                            Name = "Elf"
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Statistics", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("ArmorClass")
                        .HasColumnType("int");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("CurrentHealthPoints")
                        .HasColumnType("int");

                    b.Property<int>("ExperiencePoints")
                        .HasColumnType("int");

                    b.Property<int>("HealthPoints")
                        .HasColumnType("int");

                    b.Property<int>("Initiative")
                        .HasColumnType("int");

                    b.Property<int>("Level")
                        .HasColumnType("int");

                    b.Property<int>("Proficiency")
                        .HasColumnType("int");

                    b.Property<int>("Speed")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Statistics");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            ArmorClass = 9,
                            CharacterId = 1,
                            CurrentHealthPoints = 18,
                            ExperiencePoints = 2,
                            HealthPoints = 20,
                            Initiative = 12,
                            Level = 1,
                            Proficiency = 1,
                            Speed = 5
                        },
                        new
                        {
                            Id = 2,
                            ArmorClass = 12,
                            CharacterId = 2,
                            CurrentHealthPoints = 26,
                            ExperiencePoints = 0,
                            HealthPoints = 26,
                            Initiative = 7,
                            Level = 1,
                            Proficiency = 1,
                            Speed = 10
                        },
                        new
                        {
                            Id = 3,
                            ArmorClass = 2,
                            CharacterId = 3,
                            CurrentHealthPoints = 7,
                            ExperiencePoints = 24,
                            HealthPoints = 7,
                            Initiative = 18,
                            Level = 1,
                            Proficiency = 2,
                            Speed = 15
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Strength", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("Athletics")
                        .HasColumnType("int");

                    b.Property<bool>("CanAthletics")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSaveThrows")
                        .HasColumnType("bit");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("Modification")
                        .HasColumnType("int");

                    b.Property<int>("SavingThrows")
                        .HasColumnType("int");

                    b.Property<int>("Value")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Strengths");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.User", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<string>("Password")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Username")
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.ToTable("Users");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Password = "123",
                            Username = "Morwiec"
                        },
                        new
                        {
                            Id = 2,
                            Password = "123",
                            Username = "Cichoklepiec"
                        },
                        new
                        {
                            Id = 3,
                            Password = "123",
                            Username = "Ruletka"
                        });
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Wisdom", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .UseIdentityColumn();

                    b.Property<int>("AnimalHandling")
                        .HasColumnType("int");

                    b.Property<bool>("CanAnimalHandling")
                        .HasColumnType("bit");

                    b.Property<bool>("CanInsight")
                        .HasColumnType("bit");

                    b.Property<bool>("CanMedicine")
                        .HasColumnType("bit");

                    b.Property<bool>("CanPerception")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSaveThrows")
                        .HasColumnType("bit");

                    b.Property<bool>("CanSurvival")
                        .HasColumnType("bit");

                    b.Property<int>("CharacterId")
                        .HasColumnType("int");

                    b.Property<int>("Insight")
                        .HasColumnType("int");

                    b.Property<int>("Medicine")
                        .HasColumnType("int");

                    b.Property<int>("Modification")
                        .HasColumnType("int");

                    b.Property<int>("Perception")
                        .HasColumnType("int");

                    b.Property<int>("SavingThrows")
                        .HasColumnType("int");

                    b.Property<int>("Survival")
                        .HasColumnType("int");

                    b.Property<int>("Value")
                        .HasColumnType("int");

                    b.HasKey("Id");

                    b.HasIndex("CharacterId")
                        .IsUnique();

                    b.ToTable("Wisdoms");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Biography", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Alignment", "Alignment")
                        .WithMany("Biography")
                        .HasForeignKey("AlignmentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("SessionCompanion.Database.Tables.Background", "Background")
                        .WithMany("Biography")
                        .HasForeignKey("BackgroundId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Biography")
                        .HasForeignKey("SessionCompanion.Database.Tables.Biography", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("SessionCompanion.Database.Tables.Class", "Class")
                        .WithMany("Biography")
                        .HasForeignKey("ClassId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("SessionCompanion.Database.Tables.Race", "Race")
                        .WithMany("Biography")
                        .HasForeignKey("RaceId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Alignment");

                    b.Navigation("Background");

                    b.Navigation("Character");

                    b.Navigation("Class");

                    b.Navigation("Race");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Character", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.User", "User")
                        .WithMany("Character")
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("User");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Charisma", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Charisma")
                        .HasForeignKey("SessionCompanion.Database.Tables.Charisma", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Constitution", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Constitution")
                        .HasForeignKey("SessionCompanion.Database.Tables.Constitution", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Dexterity", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Dexterity")
                        .HasForeignKey("SessionCompanion.Database.Tables.Dexterity", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Intelligence", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Intelligence")
                        .HasForeignKey("SessionCompanion.Database.Tables.Intelligence", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Statistics", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Statistics")
                        .HasForeignKey("SessionCompanion.Database.Tables.Statistics", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Strength", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Strength")
                        .HasForeignKey("SessionCompanion.Database.Tables.Strength", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Wisdom", b =>
                {
                    b.HasOne("SessionCompanion.Database.Tables.Character", "Character")
                        .WithOne("Wisdom")
                        .HasForeignKey("SessionCompanion.Database.Tables.Wisdom", "CharacterId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Character");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Alignment", b =>
                {
                    b.Navigation("Biography");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Background", b =>
                {
                    b.Navigation("Biography");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Character", b =>
                {
                    b.Navigation("Biography");

                    b.Navigation("Charisma");

                    b.Navigation("Constitution");

                    b.Navigation("Dexterity");

                    b.Navigation("Intelligence");

                    b.Navigation("Statistics");

                    b.Navigation("Strength");

                    b.Navigation("Wisdom");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Class", b =>
                {
                    b.Navigation("Biography");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.Race", b =>
                {
                    b.Navigation("Biography");
                });

            modelBuilder.Entity("SessionCompanion.Database.Tables.User", b =>
                {
                    b.Navigation("Character");
                });
#pragma warning restore 612, 618
        }
    }
}