// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Printbase.Infrastructure.Database; #nullable disable namespace Printbase.Infrastructure.Migrations { [DbContext(typeof(ApplicationDbContext))] partial class ApplicationDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductDbEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Description") .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("TypeId") .HasColumnType("uniqueidentifier"); b.Property("UpdatedAt") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("TypeId"); b.ToTable("Products"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductGroupDbEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Description") .HasMaxLength(255) .HasColumnType("nvarchar(255)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("UpdatedAt") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("Name") .IsUnique(); b.ToTable("ProductGroups"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductTypeDbEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Description") .HasMaxLength(255) .HasColumnType("nvarchar(255)"); b.Property("GroupId") .HasColumnType("uniqueidentifier"); b.Property("IsActive") .HasColumnType("bit"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("UpdatedAt") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("GroupId"); b.HasIndex("Name", "GroupId") .IsUnique(); b.ToTable("ProductTypes"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductVariantDbEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("Color") .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Discount") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("Price") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("ProductId") .HasColumnType("uniqueidentifier"); b.Property("SKU") .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Size") .HasMaxLength(20) .HasColumnType("nvarchar(20)"); b.Property("Stock") .HasColumnType("int"); b.Property("UpdatedAt") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("ProductId", "Color", "Size") .IsUnique() .HasFilter("[Color] IS NOT NULL AND [Size] IS NOT NULL"); b.ToTable("ProductVariants"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductDbEntity", b => { b.HasOne("Printbase.Infrastructure.DbEntities.Products.ProductTypeDbEntity", "Type") .WithMany("Products") .HasForeignKey("TypeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Type"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductTypeDbEntity", b => { b.HasOne("Printbase.Infrastructure.DbEntities.Products.ProductGroupDbEntity", "Group") .WithMany("Types") .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Group"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductVariantDbEntity", b => { b.HasOne("Printbase.Infrastructure.DbEntities.Products.ProductDbEntity", "Product") .WithMany("Variants") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Product"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductDbEntity", b => { b.Navigation("Variants"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductGroupDbEntity", b => { b.Navigation("Types"); }); modelBuilder.Entity("Printbase.Infrastructure.DbEntities.Products.ProductTypeDbEntity", b => { b.Navigation("Products"); }); #pragma warning restore 612, 618 } } }