// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

#nullable disable

namespace Sequence.Migrations
{
    [DbContext(typeof(DbContext))]
    partial class DbContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "7.0.4")
                .HasAnnotation("Relational:MaxIdentifierLength", 64);

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasColumnType("longtext");

                    b.Property<string>("Name")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)");

                    b.Property<string>("NormalizedName")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)");

                    b.HasKey("Id");

                    b.HasIndex("NormalizedName")
                        .IsUnique()
                        .HasDatabaseName("RoleNameIndex");

                    b.ToTable("AspNetRoles", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    b.Property<string>("ClaimType")
                        .HasColumnType("longtext");

                    b.Property<string>("ClaimValue")
                        .HasColumnType("longtext");

                    b.Property<Guid>("RoleId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.HasIndex("RoleId");

                    b.ToTable("AspNetRoleClaims", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    b.Property<string>("ClaimType")
                        .HasColumnType("longtext");

                    b.Property<string>("ClaimValue")
                        .HasColumnType("longtext");

                    b.Property<Guid>("UserId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.HasIndex("UserId");

                    b.ToTable("AspNetUserClaims", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
                {
                    b.Property<string>("LoginProvider")
                        .HasColumnType("varchar(255)");

                    b.Property<string>("ProviderKey")
                        .HasColumnType("varchar(255)");

                    b.Property<string>("ProviderDisplayName")
                        .HasColumnType("longtext");

                    b.Property<Guid>("UserId")
                        .HasColumnType("char(36)");

                    b.HasKey("LoginProvider", "ProviderKey");

                    b.HasIndex("UserId");

                    b.ToTable("AspNetUserLogins", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
                {
                    b.Property<Guid>("UserId")
                        .HasColumnType("char(36)");

                    b.Property<Guid>("RoleId")
                        .HasColumnType("char(36)");

                    b.HasKey("UserId", "RoleId");

                    b.HasIndex("RoleId");

                    b.ToTable("AspNetUserRoles", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
                {
                    b.Property<Guid>("UserId")
                        .HasColumnType("char(36)");

                    b.Property<string>("LoginProvider")
                        .HasColumnType("varchar(255)");

                    b.Property<string>("Name")
                        .HasColumnType("varchar(255)");

                    b.Property<string>("Value")
                        .HasColumnType("longtext");

                    b.HasKey("UserId", "LoginProvider", "Name");

                    b.ToTable("AspNetUserTokens", (string)null);
                });

            modelBuilder.Entity("Sequence.Entities.Card", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("HandId")
                        .HasColumnType("char(36)");

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

                    b.Property<string>("Value")
                        .IsRequired()
                        .HasColumnType("longtext");

                    b.HasKey("Id");

                    b.HasIndex("HandId");

                    b.ToTable("Deck");

                    b.HasData(
                        new
                        {
                            Id = new Guid("3df3eb49-4286-4335-b0fd-1f22324fc8da"),
                            Suit = 0,
                            Value = "1"
                        },
                        new
                        {
                            Id = new Guid("3ccbf18b-d428-4b3c-9816-079ed93d50e0"),
                            Suit = 0,
                            Value = "2"
                        },
                        new
                        {
                            Id = new Guid("e182e163-badf-4455-89a4-4d5bb718359b"),
                            Suit = 0,
                            Value = "3"
                        },
                        new
                        {
                            Id = new Guid("1f745661-7e8c-457e-8c21-af328ebea6ef"),
                            Suit = 0,
                            Value = "4"
                        },
                        new
                        {
                            Id = new Guid("48bd12de-6e41-4618-ab60-e6a96a63672a"),
                            Suit = 0,
                            Value = "5"
                        },
                        new
                        {
                            Id = new Guid("c0a3b138-0ad3-4384-9ec3-79e642d9972a"),
                            Suit = 0,
                            Value = "6"
                        },
                        new
                        {
                            Id = new Guid("1cd6d866-f3d9-4006-aad1-4a1e35f43a73"),
                            Suit = 0,
                            Value = "7"
                        },
                        new
                        {
                            Id = new Guid("4776a685-7d6e-4bf5-a44a-075ef7109a52"),
                            Suit = 0,
                            Value = "8"
                        },
                        new
                        {
                            Id = new Guid("aec2f6dc-115b-4a67-8049-a20b2a99f9f0"),
                            Suit = 0,
                            Value = "9"
                        },
                        new
                        {
                            Id = new Guid("f9146877-b413-4f92-aee6-f4ee93f8a164"),
                            Suit = 0,
                            Value = "10"
                        },
                        new
                        {
                            Id = new Guid("1348276b-52f2-4708-bd38-7e3e11505271"),
                            Suit = 0,
                            Value = "J"
                        },
                        new
                        {
                            Id = new Guid("a8c3fff6-ac16-4e73-a322-6640304f4a1d"),
                            Suit = 0,
                            Value = "Q"
                        },
                        new
                        {
                            Id = new Guid("7a3d84d9-1ae2-49fc-83a4-4c9a9ba96f9e"),
                            Suit = 0,
                            Value = "K"
                        },
                        new
                        {
                            Id = new Guid("774c4661-8c70-4140-aa06-b77c81cdc6c9"),
                            Suit = 1,
                            Value = "1"
                        },
                        new
                        {
                            Id = new Guid("cb23f13e-9e01-4c07-934b-91f83fe63754"),
                            Suit = 1,
                            Value = "2"
                        },
                        new
                        {
                            Id = new Guid("3dd48e85-61c3-458c-8197-6b320b70412f"),
                            Suit = 1,
                            Value = "3"
                        },
                        new
                        {
                            Id = new Guid("e95f7dc6-66e1-433a-a048-bb89a287112b"),
                            Suit = 1,
                            Value = "4"
                        },
                        new
                        {
                            Id = new Guid("775465f6-af76-4899-a4c0-87e9f87fde19"),
                            Suit = 1,
                            Value = "5"
                        },
                        new
                        {
                            Id = new Guid("2fb260a9-5c85-4d31-bd5f-9160b108a7d6"),
                            Suit = 1,
                            Value = "6"
                        },
                        new
                        {
                            Id = new Guid("123a0c42-19c2-4310-b557-fe9a4939c5db"),
                            Suit = 1,
                            Value = "7"
                        },
                        new
                        {
                            Id = new Guid("5d3faa3f-2140-4a2d-837b-3089b28a8b7a"),
                            Suit = 1,
                            Value = "8"
                        },
                        new
                        {
                            Id = new Guid("ac12f0ae-331e-4603-bfd5-0e8f39c67291"),
                            Suit = 1,
                            Value = "9"
                        },
                        new
                        {
                            Id = new Guid("60be6c1a-9caa-4b67-b24c-ce31fe13b270"),
                            Suit = 1,
                            Value = "10"
                        },
                        new
                        {
                            Id = new Guid("6fa3e767-f549-4fe1-aaa0-2325481bf954"),
                            Suit = 1,
                            Value = "J"
                        },
                        new
                        {
                            Id = new Guid("8e253b6c-27a7-4505-b29d-5a75478f8344"),
                            Suit = 1,
                            Value = "Q"
                        },
                        new
                        {
                            Id = new Guid("fa8aebfb-6450-4e23-ba5d-49201011e8cc"),
                            Suit = 1,
                            Value = "K"
                        },
                        new
                        {
                            Id = new Guid("dc9ab320-1c25-406f-ab25-962de5a22608"),
                            Suit = 2,
                            Value = "1"
                        },
                        new
                        {
                            Id = new Guid("92917f34-d2cc-4621-a175-d199cb4a2f99"),
                            Suit = 2,
                            Value = "2"
                        },
                        new
                        {
                            Id = new Guid("d998e124-b28a-4fef-991a-9e135e3f61d5"),
                            Suit = 2,
                            Value = "3"
                        },
                        new
                        {
                            Id = new Guid("df67ffb9-4a54-4d76-b0ce-3582975b78c5"),
                            Suit = 2,
                            Value = "4"
                        },
                        new
                        {
                            Id = new Guid("4d0802db-85d1-4418-a1b7-86e87d00353f"),
                            Suit = 2,
                            Value = "5"
                        },
                        new
                        {
                            Id = new Guid("7f7ea50b-4b9b-49b5-942f-82a5b62f6103"),
                            Suit = 2,
                            Value = "6"
                        },
                        new
                        {
                            Id = new Guid("ff232d8b-753c-4c4a-bd03-6ce9633eceb9"),
                            Suit = 2,
                            Value = "7"
                        },
                        new
                        {
                            Id = new Guid("0651b023-b17f-494a-88ed-ecbe2cfa7a49"),
                            Suit = 2,
                            Value = "8"
                        },
                        new
                        {
                            Id = new Guid("83641870-bb94-45de-8542-5d55ed369319"),
                            Suit = 2,
                            Value = "9"
                        },
                        new
                        {
                            Id = new Guid("5172a226-bc3d-4175-b5ae-c33981792ed1"),
                            Suit = 2,
                            Value = "10"
                        },
                        new
                        {
                            Id = new Guid("676f533a-c834-4b8b-9a82-618b25249add"),
                            Suit = 2,
                            Value = "J"
                        },
                        new
                        {
                            Id = new Guid("9f67ac4f-23eb-4b7d-baae-d8b3e4a91870"),
                            Suit = 2,
                            Value = "Q"
                        },
                        new
                        {
                            Id = new Guid("54bd5f32-0c4f-454d-8e66-21ca14740157"),
                            Suit = 2,
                            Value = "K"
                        },
                        new
                        {
                            Id = new Guid("a37baaf1-78f6-4cb9-a940-37d170b9c727"),
                            Suit = 3,
                            Value = "1"
                        },
                        new
                        {
                            Id = new Guid("8c7ee0d6-da46-487c-9636-ce677fd14ba8"),
                            Suit = 3,
                            Value = "2"
                        },
                        new
                        {
                            Id = new Guid("c2e04c69-7436-4b09-a269-8708e957af5a"),
                            Suit = 3,
                            Value = "3"
                        },
                        new
                        {
                            Id = new Guid("c387869f-b4a9-4163-8cea-2b2c2fdeb6cc"),
                            Suit = 3,
                            Value = "4"
                        },
                        new
                        {
                            Id = new Guid("7d07e71e-f955-4a86-ad02-71e1c2d2c888"),
                            Suit = 3,
                            Value = "5"
                        },
                        new
                        {
                            Id = new Guid("423c23a4-f5b2-4676-9564-75714d289811"),
                            Suit = 3,
                            Value = "6"
                        },
                        new
                        {
                            Id = new Guid("999d24a8-1aca-47cb-a45b-4f3a436f2492"),
                            Suit = 3,
                            Value = "7"
                        },
                        new
                        {
                            Id = new Guid("b1971ee2-878a-4c6e-ae2b-606d41a34bc0"),
                            Suit = 3,
                            Value = "8"
                        },
                        new
                        {
                            Id = new Guid("bf3353de-d18c-4857-bfef-d9dcda88d512"),
                            Suit = 3,
                            Value = "9"
                        },
                        new
                        {
                            Id = new Guid("ae7ea808-52f1-47f6-b68b-0ab596c47282"),
                            Suit = 3,
                            Value = "10"
                        },
                        new
                        {
                            Id = new Guid("3aa4bd47-a91e-4b18-9915-e0f149be671d"),
                            Suit = 3,
                            Value = "J"
                        },
                        new
                        {
                            Id = new Guid("0158f904-5c80-4d15-864c-b234dd8d596c"),
                            Suit = 3,
                            Value = "Q"
                        },
                        new
                        {
                            Id = new Guid("f2359dd3-13ee-492d-bd3e-0d53a568cd0a"),
                            Suit = 3,
                            Value = "K"
                        });
                });

            modelBuilder.Entity("Sequence.Entities.Hand", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<Guid>("UserId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.HasIndex("UserId");

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

            modelBuilder.Entity("Sequence.Entities.Match", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("Created")
                        .HasColumnType("datetime(6)");

                    b.Property<Guid>("PlayerOneId")
                        .HasColumnType("char(36)");

                    b.Property<Guid>("PlayerTwoId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.HasIndex("PlayerOneId");

                    b.HasIndex("PlayerTwoId");

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

            modelBuilder.Entity("Sequence.Entities.Player", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<Guid>("HandId")
                        .HasColumnType("char(36)");

                    b.Property<Guid>("UserId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.HasIndex("HandId");

                    b.HasIndex("UserId");

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

            modelBuilder.Entity("Sequence.Entities.PlayerCard", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<Guid>("CardId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("PlayerId")
                        .HasColumnType("char(36)");

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

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

                    b.HasKey("Id");

                    b.HasIndex("CardId");

                    b.HasIndex("PlayerId");

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

            modelBuilder.Entity("Sequence.Entities.User", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

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

                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasColumnType("longtext");

                    b.Property<string>("Email")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)");

                    b.Property<bool>("EmailConfirmed")
                        .HasColumnType("tinyint(1)");

                    b.Property<bool>("LockoutEnabled")
                        .HasColumnType("tinyint(1)");

                    b.Property<DateTimeOffset?>("LockoutEnd")
                        .HasColumnType("datetime(6)");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("longtext");

                    b.Property<string>("NormalizedEmail")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)");

                    b.Property<string>("NormalizedUserName")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)");

                    b.Property<string>("PasswordHash")
                        .HasColumnType("longtext");

                    b.Property<string>("PhoneNumber")
                        .HasColumnType("longtext");

                    b.Property<bool>("PhoneNumberConfirmed")
                        .HasColumnType("tinyint(1)");

                    b.Property<string>("SecurityStamp")
                        .HasColumnType("longtext");

                    b.Property<bool>("TwoFactorEnabled")
                        .HasColumnType("tinyint(1)");

                    b.Property<string>("UserName")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)");

                    b.HasKey("Id");

                    b.HasIndex("NormalizedEmail")
                        .HasDatabaseName("EmailIndex");

                    b.HasIndex("NormalizedUserName")
                        .IsUnique()
                        .HasDatabaseName("UserNameIndex");

                    b.ToTable("AspNetUsers", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
                {
                    b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
                        .WithMany()
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
                {
                    b.HasOne("Sequence.Entities.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
                {
                    b.HasOne("Sequence.Entities.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
                {
                    b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole<System.Guid>", null)
                        .WithMany()
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Sequence.Entities.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
                {
                    b.HasOne("Sequence.Entities.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Sequence.Entities.Card", b =>
                {
                    b.HasOne("Sequence.Entities.Hand", null)
                        .WithMany("Cards")
                        .HasForeignKey("HandId");
                });

            modelBuilder.Entity("Sequence.Entities.Hand", b =>
                {
                    b.HasOne("Sequence.Entities.User", "User")
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("Sequence.Entities.Match", b =>
                {
                    b.HasOne("Sequence.Entities.Player", "PlayerOne")
                        .WithMany()
                        .HasForeignKey("PlayerOneId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Sequence.Entities.Player", "PlayerTwo")
                        .WithMany()
                        .HasForeignKey("PlayerTwoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("PlayerOne");

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

            modelBuilder.Entity("Sequence.Entities.Player", b =>
                {
                    b.HasOne("Sequence.Entities.Hand", "Hand")
                        .WithMany()
                        .HasForeignKey("HandId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Sequence.Entities.User", "User")
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Hand");

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

            modelBuilder.Entity("Sequence.Entities.PlayerCard", b =>
                {
                    b.HasOne("Sequence.Entities.Card", "Card")
                        .WithMany()
                        .HasForeignKey("CardId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Sequence.Entities.Player", null)
                        .WithMany("PlayerCards")
                        .HasForeignKey("PlayerId");

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

            modelBuilder.Entity("Sequence.Entities.Hand", b =>
                {
                    b.Navigation("Cards");
                });

            modelBuilder.Entity("Sequence.Entities.Player", b =>
                {
                    b.Navigation("PlayerCards");
                });
#pragma warning restore 612, 618
        }
    }
}
