// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NetinaShop.Repository.Models; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace NetinaShop.Repository.Migrations { [DbContext(typeof(ApplicationContext))] [Migration("20240211102121_AddPayment")] partial class AddPayment { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("public") .HasAnnotation("ProductVersion", "8.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("text"); b.Property("ClaimValue") .HasColumnType("text"); b.Property("RoleId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("RoleClaims", "public"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("text"); b.Property("ClaimValue") .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Claims", "public"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.Property("LoginProvider") .HasColumnType("text"); b.Property("ProviderKey") .HasColumnType("text"); b.Property("ProviderDisplayName") .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("Logins", "public"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("uuid"); b.Property("RoleId") .HasColumnType("uuid"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("UserRoles", "public"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("uuid"); b.Property("LoginProvider") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("Value") .HasColumnType("text"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("Tokens", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Accounting.Payment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Amount") .HasColumnType("double precision"); b.Property("Authority") .IsRequired() .HasColumnType("text"); b.Property("CardPan") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("FactorNumber") .IsRequired() .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("OrderId") .HasColumnType("uuid"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("Status") .HasColumnType("integer"); b.Property("TransactionCode") .IsRequired() .HasColumnType("text"); b.Property("Type") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("UserId"); b.ToTable("Payments", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.Blog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CategoryId") .HasColumnType("uuid"); b.Property("Content") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("IsSuggested") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("ReadingTime") .HasColumnType("integer"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("Summery") .IsRequired() .HasColumnType("text"); b.Property("Tags") .IsRequired() .HasColumnType("text"); b.Property("Title") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("CategoryId"); b.ToTable("Blogs", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.BlogCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("BlogCategories", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Brands.Brand", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("HasSpecialPage") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("PageUrl") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Brands", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Discounts.Discount", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AmountType") .HasColumnType("integer"); b.Property("Code") .IsRequired() .HasColumnType("text"); b.Property("Count") .HasColumnType("integer"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("DiscountAmount") .HasColumnType("bigint"); b.Property("DiscountPercent") .HasColumnType("integer"); b.Property("Discriminator") .IsRequired() .HasMaxLength(21) .HasColumnType("character varying(21)"); b.Property("ExpireDate") .HasColumnType("timestamp without time zone"); b.Property("HasCode") .HasColumnType("boolean"); b.Property("HasPriceCeiling") .HasColumnType("boolean"); b.Property("HasPriceFloor") .HasColumnType("boolean"); b.Property("IsForInvitation") .HasColumnType("boolean"); b.Property("IsInfinity") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("IsSpecialOffer") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("PriceCeiling") .HasColumnType("bigint"); b.Property("PriceFloor") .HasColumnType("bigint"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("StartDate") .HasColumnType("timestamp without time zone"); b.Property("Type") .HasColumnType("integer"); b.Property("UseCount") .HasColumnType("bigint"); b.HasKey("Id"); b.ToTable("Discounts", "public"); b.HasDiscriminator("Discriminator").HasValue("Discount"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.Order", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("DeliveryPrice") .HasColumnType("double precision"); b.Property("DiscountCode") .IsRequired() .HasColumnType("text"); b.Property("DiscountId") .HasColumnType("uuid"); b.Property("DiscountPrice") .HasColumnType("double precision"); b.Property("DoneAt") .HasColumnType("timestamp without time zone"); b.Property("FactorCode") .IsRequired() .HasColumnType("text"); b.Property("IsPayed") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("OrderAt") .HasColumnType("timestamp without time zone"); b.Property("OrderStatus") .HasColumnType("integer"); b.Property("PackingPrice") .HasColumnType("double precision"); b.Property("PayedAt") .HasColumnType("timestamp without time zone"); b.Property("PaymentMethod") .HasColumnType("integer"); b.Property("PreparingMinute") .HasColumnType("integer"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("ServicePrice") .HasColumnType("double precision"); b.Property("TaxesPrice") .HasColumnType("double precision"); b.Property("TotalPrice") .HasColumnType("double precision"); b.Property("TotalProductsPrice") .HasColumnType("double precision"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("DiscountId"); b.HasIndex("UserId"); b.ToTable("Orders", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.OrderDelivery", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Address") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("DeliveryCost") .HasColumnType("double precision"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("OrderId") .HasColumnType("uuid"); b.Property("PostalCode") .IsRequired() .HasColumnType("text"); b.Property("ReceiverFullName") .IsRequired() .HasColumnType("text"); b.Property("ReceiverPhoneNumber") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("ShippingId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("ShippingId"); b.ToTable("OrderDeliveries", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.OrderProduct", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Count") .HasColumnType("integer"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("HasDiscount") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("OrderId") .HasColumnType("uuid"); b.Property("OrderProductStatus") .HasColumnType("integer"); b.Property("PackingCost") .HasColumnType("double precision"); b.Property("PackingFee") .HasColumnType("double precision"); b.Property("ProductCategoryId") .HasColumnType("uuid"); b.Property("ProductCost") .HasColumnType("double precision"); b.Property("ProductFee") .HasColumnType("double precision"); b.Property("ProductFeeWithDiscount") .HasColumnType("double precision"); b.Property("ProductId") .HasColumnType("uuid"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("ProductId"); b.ToTable("OrderProducts", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("IsMain") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("ParentId") .HasColumnType("uuid"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("ParentId"); b.ToTable("ProductCategories", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Product", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("BeDisplayed") .HasColumnType("boolean"); b.Property("BrandId") .HasColumnType("uuid"); b.Property("CategoryId") .HasColumnType("uuid"); b.Property("Cost") .HasColumnType("double precision"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("EnglishName") .IsRequired() .HasColumnType("text"); b.Property("ExpertCheck") .IsRequired() .HasColumnType("text"); b.Property("HasExpressDelivery") .HasColumnType("boolean"); b.Property("IsEnable") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("MaxOrderCount") .HasColumnType("integer"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("PackingCost") .HasColumnType("double precision"); b.Property("PersianName") .IsRequired() .HasColumnType("text"); b.Property("Rate") .HasColumnType("real"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("ReviewCount") .HasColumnType("integer"); b.Property("Stock") .HasColumnType("integer"); b.Property("Summery") .IsRequired() .HasColumnType("text"); b.Property("Tags") .IsRequired() .HasColumnType("text"); b.Property("Viewed") .HasColumnType("integer"); b.Property("Warranty") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("BrandId"); b.HasIndex("CategoryId"); b.ToTable("Products", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Review", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Comment") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsBuyer") .HasColumnType("boolean"); b.Property("IsConfirmed") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("ProductId") .HasColumnType("uuid"); b.Property("Rate") .HasColumnType("real"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("Title") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("UserId"); b.ToTable("Reviews", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Specification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Detail") .IsRequired() .HasColumnType("text"); b.Property("IsFeature") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("ParentId") .HasColumnType("uuid"); b.Property("ProductId") .HasColumnType("uuid"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("Title") .IsRequired() .HasColumnType("text"); b.Property("Value") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("ParentId"); b.HasIndex("ProductId"); b.ToTable("Specifications", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.StorageFiles.StorageFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Discriminator") .IsRequired() .HasMaxLength(34) .HasColumnType("character varying(34)"); b.Property("FileLocation") .IsRequired() .HasColumnType("text"); b.Property("FileName") .IsRequired() .HasColumnType("text"); b.Property("FileType") .HasColumnType("integer"); b.Property("IsHeader") .HasColumnType("boolean"); b.Property("IsPrimary") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("StorageFiles", "public"); b.HasDiscriminator("Discriminator").HasValue("StorageFile"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.ApplicationRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("EnglishName") .IsRequired() .HasColumnType("text"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("PersianName") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex"); b.ToTable("Roles", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AccessFailedCount") .HasColumnType("integer"); b.Property("BirthDate") .HasColumnType("timestamp without time zone"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("EmailConfirmed") .HasColumnType("boolean"); b.Property("FirstName") .IsRequired() .HasColumnType("text"); b.Property("Gender") .HasColumnType("integer"); b.Property("LastName") .IsRequired() .HasColumnType("text"); b.Property("LockoutEnabled") .HasColumnType("boolean"); b.Property("LockoutEnd") .HasColumnType("timestamp with time zone"); b.Property("NationalId") .IsRequired() .HasColumnType("text"); b.Property("NormalizedEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("NormalizedUserName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("PasswordHash") .HasColumnType("text"); b.Property("PhoneNumber") .HasColumnType("text"); b.Property("PhoneNumberConfirmed") .HasColumnType("boolean"); b.Property("SecurityStamp") .HasColumnType("text"); b.Property("SignUpStatus") .HasColumnType("integer"); b.Property("TwoFactorEnabled") .HasColumnType("boolean"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex"); b.ToTable("Users", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.UserAddress", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Address") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("LocationLat") .HasColumnType("real"); b.Property("LocationLong") .HasColumnType("real"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("PostalCode") .IsRequired() .HasColumnType("text"); b.Property("ReceiverFullName") .IsRequired() .HasColumnType("text"); b.Property("ReceiverPhoneNumber") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserAddresses", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.UserFavoriteProduct", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("ProductId") .HasColumnType("uuid"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("UserId"); b.ToTable("UserFavoriteProducts", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Warehouses.Shipping", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("DeliveryCost") .HasColumnType("double precision"); b.Property("IsExpressShipping") .HasColumnType("boolean"); b.Property("IsOriginalWarehouse") .HasColumnType("boolean"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("IsShipBySeller") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("WarehouseName") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Shippings", "public"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Discounts.CategoryDiscount", b => { b.HasBaseType("NetinaShop.Domain.Entities.Discounts.Discount"); b.Property("CategoryId") .HasColumnType("uuid"); b.HasIndex("CategoryId"); b.HasDiscriminator().HasValue("CategoryDiscount"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Discounts.ProductDiscount", b => { b.HasBaseType("NetinaShop.Domain.Entities.Discounts.Discount"); b.Property("ProductId") .HasColumnType("uuid"); b.HasIndex("ProductId"); b.HasDiscriminator().HasValue("ProductDiscount"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.BlogStorageFile", b => { b.HasBaseType("NetinaShop.Domain.Entities.StorageFiles.StorageFile"); b.Property("BlogId") .HasColumnType("uuid"); b.HasIndex("BlogId"); b.HasDiscriminator().HasValue("BlogStorageFile"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Brands.BrandStorageFile", b => { b.HasBaseType("NetinaShop.Domain.Entities.StorageFiles.StorageFile"); b.Property("BrandId") .HasColumnType("uuid"); b.HasIndex("BrandId"); b.HasDiscriminator().HasValue("BrandStorageFile"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.ProductCategories.ProductCategoryStorageFile", b => { b.HasBaseType("NetinaShop.Domain.Entities.StorageFiles.StorageFile"); b.Property("CategoryId") .HasColumnType("uuid"); b.HasIndex("CategoryId"); b.HasDiscriminator().HasValue("ProductCategoryStorageFile"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.ProductStorageFile", b => { b.HasBaseType("NetinaShop.Domain.Entities.StorageFiles.StorageFile"); b.Property("ProductId") .HasColumnType("uuid"); b.HasIndex("ProductId"); b.HasDiscriminator().HasValue("ProductStorageFile"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Accounting.Payment", b => { b.HasOne("NetinaShop.Domain.Entities.Orders.Order", "Order") .WithMany("Payments") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Order"); b.Navigation("User"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.Blog", b => { b.HasOne("NetinaShop.Domain.Entities.Blogs.BlogCategory", "Category") .WithMany("Blogs") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Category"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.Order", b => { b.HasOne("NetinaShop.Domain.Entities.Discounts.Discount", null) .WithMany("Orders") .HasForeignKey("DiscountId"); b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("User"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.OrderDelivery", b => { b.HasOne("NetinaShop.Domain.Entities.Orders.Order", "Order") .WithMany("OrderDeliveries") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.Warehouses.Shipping", "Shipping") .WithMany() .HasForeignKey("ShippingId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Order"); b.Navigation("Shipping"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.OrderProduct", b => { b.HasOne("NetinaShop.Domain.Entities.Orders.Order", "Order") .WithMany("OrderProducts") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.Products.Product", "Product") .WithMany("OrderProducts") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Order"); b.Navigation("Product"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", b => { b.HasOne("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", "Parent") .WithMany() .HasForeignKey("ParentId"); b.Navigation("Parent"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Product", b => { b.HasOne("NetinaShop.Domain.Entities.Brands.Brand", "Brand") .WithMany("Products") .HasForeignKey("BrandId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", "Category") .WithMany("Products") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Brand"); b.Navigation("Category"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Review", b => { b.HasOne("NetinaShop.Domain.Entities.Products.Product", "Product") .WithMany("Reviews") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Product"); b.Navigation("User"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Specification", b => { b.HasOne("NetinaShop.Domain.Entities.Products.Specification", "Parent") .WithMany("Children") .HasForeignKey("ParentId"); b.HasOne("NetinaShop.Domain.Entities.Products.Product", "Product") .WithMany("Specifications") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Parent"); b.Navigation("Product"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.UserAddress", b => { b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", "User") .WithMany("Addresses") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("User"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.UserFavoriteProduct", b => { b.HasOne("NetinaShop.Domain.Entities.Products.Product", "Product") .WithMany() .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("NetinaShop.Domain.Entities.Users.ApplicationUser", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Product"); b.Navigation("User"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Discounts.CategoryDiscount", b => { b.HasOne("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", "Category") .WithMany() .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Category"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Discounts.ProductDiscount", b => { b.HasOne("NetinaShop.Domain.Entities.Products.Product", "Product") .WithMany() .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Product"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.BlogStorageFile", b => { b.HasOne("NetinaShop.Domain.Entities.Blogs.Blog", "Blog") .WithMany("Files") .HasForeignKey("BlogId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Blog"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Brands.BrandStorageFile", b => { b.HasOne("NetinaShop.Domain.Entities.Brands.Brand", "Brand") .WithMany("Files") .HasForeignKey("BrandId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Brand"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.ProductCategories.ProductCategoryStorageFile", b => { b.HasOne("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", "Category") .WithMany("Files") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Category"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.ProductStorageFile", b => { b.HasOne("NetinaShop.Domain.Entities.Products.Product", "Product") .WithMany("Files") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Product"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.Blog", b => { b.Navigation("Files"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Blogs.BlogCategory", b => { b.Navigation("Blogs"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Brands.Brand", b => { b.Navigation("Files"); b.Navigation("Products"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Discounts.Discount", b => { b.Navigation("Orders"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Orders.Order", b => { b.Navigation("OrderDeliveries"); b.Navigation("OrderProducts"); b.Navigation("Payments"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.ProductCategories.ProductCategory", b => { b.Navigation("Files"); b.Navigation("Products"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Product", b => { b.Navigation("Files"); b.Navigation("OrderProducts"); b.Navigation("Reviews"); b.Navigation("Specifications"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Products.Specification", b => { b.Navigation("Children"); }); modelBuilder.Entity("NetinaShop.Domain.Entities.Users.ApplicationUser", b => { b.Navigation("Addresses"); }); #pragma warning restore 612, 618 } } }