// using System; using CMSMicroservice.Infrastructure.Persistence; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace CMSMicroservice.Infrastructure.Persistence.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20260222155925_u21")] partial class u21 { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("CMS") .HasAnnotation("ProductVersion", "9.0.11") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("IconName") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Slug") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("SortOrder") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("Title") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.HasKey("Id"); b.HasIndex("IsActive") .HasDatabaseName("IX_BlogCategories_IsActive"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("IX_BlogCategories_Slug"); b.ToTable("BlogCategories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPost", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("AuthorUserId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("FeaturedImagePath") .HasColumnType("nvarchar(max)"); b.Property("FeaturedImageThumbnailPath") .HasColumnType("nvarchar(max)"); b.Property("HtmlContent") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsFeatured") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PublishedAt") .HasColumnType("datetime2"); b.Property("ScheduledPublishAt") .HasColumnType("datetime2"); b.Property("Slug") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("SortOrder") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("Status") .HasColumnType("int"); b.Property("Summary") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("ViewCount") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.HasKey("Id"); b.HasIndex("AuthorUserId") .HasDatabaseName("IX_BlogPosts_AuthorUserId"); b.HasIndex("IsFeatured") .HasDatabaseName("IX_BlogPosts_IsFeatured"); b.HasIndex("PublishedAt") .HasDatabaseName("IX_BlogPosts_PublishedAt"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("IX_BlogPosts_Slug"); b.HasIndex("Status") .HasDatabaseName("IX_BlogPosts_Status"); b.HasIndex("Status", "PublishedAt") .HasDatabaseName("IX_BlogPosts_Status_PublishedAt"); b.ToTable("BlogPosts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPostCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("BlogCategoryId") .HasColumnType("bigint"); b.Property("BlogPostId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("BlogCategoryId"); b.HasIndex("BlogPostId"); b.ToTable("BlogPostCategories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPostImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("AltText") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("BlogPostId") .HasColumnType("bigint"); b.Property("Caption") .HasMaxLength(300) .HasColumnType("nvarchar(300)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("SortOrder") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("ThumbnailPath") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("BlogPostId"); b.ToTable("BlogPostImages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPostTag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("BlogPostId") .HasColumnType("bigint"); b.Property("TagId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("BlogPostId"); b.HasIndex("TagId"); b.ToTable("BlogPostTags", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Category", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("ImagePath") .HasColumnType("nvarchar(max)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ParentId") .HasColumnType("bigint"); b.Property("SortOrder") .HasColumnType("int"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("ParentId"); b.ToTable("Categories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubFeature", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("SortOrder") .HasColumnType("int"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("IsActive", "SortOrder") .HasDatabaseName("IX_ClubFeature_IsActive_SortOrder"); b.ToTable("ClubFeatures", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubMembership", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ActivatedAt") .HasColumnType("datetime2"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("GiftValue") .HasColumnType("bigint"); b.Property("InitialContribution") .HasColumnType("bigint"); b.Property("IsActive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PurchaseMethod") .HasColumnType("int"); b.Property("TotalEarned") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("IsActive") .HasDatabaseName("IX_ClubMembership_IsActive"); b.HasIndex("UserId") .IsUnique() .HasDatabaseName("IX_ClubMembership_UserId"); b.ToTable("ClubMemberships", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubMembershipCycle", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ClubMembershipId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("CycleNumber") .HasColumnType("int"); b.Property("IsCurrentCycle") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MagicCompletedAt") .HasColumnType("datetime2"); b.Property("MagicStartedAt") .HasColumnType("datetime2"); b.Property("PackageAmount") .HasColumnType("bigint"); b.Property("PackagePurchasedAt") .HasColumnType("datetime2"); b.Property("PurchaseMethod") .HasColumnType("int"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ClubMembershipId"); b.HasIndex("PackagePurchasedAt") .HasDatabaseName("IX_ClubMembershipCycle_PackagePurchasedAt"); b.HasIndex("UserId", "IsCurrentCycle") .HasDatabaseName("IX_ClubMembershipCycle_UserId_IsCurrentCycle"); b.ToTable("ClubMembershipCycles", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.UserClubFeature", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ClubFeatureId") .HasColumnType("bigint"); b.Property("ClubMembershipId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("GrantedAt") .HasColumnType("datetime2"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Notes") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ClubFeatureId"); b.HasIndex("ClubMembershipId") .HasDatabaseName("IX_UserClubFeature_ClubMembershipId"); b.HasIndex("UserId", "ClubFeatureId") .IsUnique() .HasDatabaseName("IX_UserClubFeature_UserId_ClubFeatureId"); b.ToTable("UserClubFeatures", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.UserCommissionPayout", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("BalancesEarned") .HasColumnType("int"); b.Property("BankReferenceId") .HasColumnType("nvarchar(max)"); b.Property("BankTrackingCode") .HasColumnType("nvarchar(max)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IbanNumber") .HasMaxLength(26) .HasColumnType("nvarchar(26)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PaidAt") .HasColumnType("datetime2"); b.Property("PaymentFailureReason") .HasColumnType("nvarchar(max)"); b.Property("ProcessedAt") .HasColumnType("datetime2"); b.Property("ProcessedBy") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("RejectionReason") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Status") .HasColumnType("int"); b.Property("TotalAmount") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.Property("ValuePerBalance") .HasColumnType("bigint"); b.Property("WeekDefinitionId") .HasColumnType("bigint"); b.Property("WeeklyPoolId") .HasColumnType("bigint"); b.Property("WithdrawalMethod") .HasColumnType("int"); b.Property("WithdrawnAt") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("Status") .HasDatabaseName("IX_UserCommissionPayout_Status"); b.HasIndex("WeekDefinitionId"); b.HasIndex("WeeklyPoolId") .HasDatabaseName("IX_UserCommissionPayout_WeeklyPoolId"); b.HasIndex("UserId", "WeekDefinitionId") .IsUnique() .HasDatabaseName("IX_UserCommissionPayout_UserId_WeekDefinitionId"); b.ToTable("UserCommissionPayouts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.WeeklyCommissionPool", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CalculatedAt") .HasColumnType("datetime2"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsCalculated") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("TotalBalances") .HasColumnType("int"); b.Property("TotalPoolAmount") .HasColumnType("bigint"); b.Property("ValuePerBalance") .HasColumnType("bigint"); b.Property("WeekDefinitionId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("IsCalculated") .HasDatabaseName("IX_WeeklyCommissionPool_IsCalculated"); b.HasIndex("WeekDefinitionId") .IsUnique() .HasDatabaseName("IX_WeeklyCommissionPool_WeekDefinitionId"); b.ToTable("WeeklyCommissionPools", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.WorkerExecutionLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CompletedAt") .HasColumnType("datetime2"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Details") .HasColumnType("nvarchar(max)"); b.Property("DurationMs") .HasColumnType("bigint"); b.Property("ErrorCount") .HasColumnType("int"); b.Property("ErrorMessage") .HasMaxLength(2000) .HasColumnType("nvarchar(2000)"); b.Property("ErrorStackTrace") .HasColumnType("nvarchar(max)"); b.Property("ExecutionId") .HasColumnType("uniqueidentifier"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProcessedCount") .HasColumnType("int"); b.Property("StartedAt") .HasColumnType("datetime2"); b.Property("Status") .HasColumnType("int"); b.Property("WeekDefinitionId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("StartedAt"); b.HasIndex("Status"); b.HasIndex("WeekDefinitionId"); b.ToTable("WorkerExecutionLogs", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Configuration.AppVersion", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("AppName") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("CurrentVersion") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MinRequiredVersion") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ReleaseNotes") .HasColumnType("nvarchar(max)"); b.Property("RequiresFullCacheClear") .HasColumnType("bit"); b.Property("UpdateMessage") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("AppVersions", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("HeroImagePath") .HasColumnType("nvarchar(max)"); b.Property("HeroSubtitle") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("HeroTitle") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MetaDescription") .HasMaxLength(300) .HasColumnType("nvarchar(300)"); b.Property("PageKey") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("PageKey") .IsUnique() .HasDatabaseName("IX_SitePages_PageKey"); b.ToTable("SitePages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePageImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("IconName") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("ImageGroup") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("LinkUrl") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("SitePageSettingsId") .HasColumnType("bigint"); b.Property("SortOrder") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("Subtitle") .HasMaxLength(300) .HasColumnType("nvarchar(300)"); b.Property("ThumbnailPath") .HasColumnType("nvarchar(max)"); b.Property("Title") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("SitePageSettingsId", "ImageGroup") .HasDatabaseName("IX_SitePageImages_SettingsId_Group"); b.ToTable("SitePageImages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePageSection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("ExtraData") .HasColumnType("nvarchar(max)"); b.Property("HtmlContent") .HasColumnType("nvarchar(max)"); b.Property("IconName") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("ImagePath") .HasColumnType("nvarchar(max)"); b.Property("ImageThumbnailPath") .HasColumnType("nvarchar(max)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("SectionKey") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("SitePageId") .HasColumnType("bigint"); b.Property("SortOrder") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("Subtitle") .HasMaxLength(300) .HasColumnType("nvarchar(300)"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("SitePageId", "SectionKey") .HasDatabaseName("IX_SitePageSections_PageId_SectionKey"); b.ToTable("SitePageSections", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePageSettings", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("HeroImagePath") .HasColumnType("nvarchar(max)"); b.Property("HeroSubtitle") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("HeroTitle") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MetaDescription") .HasMaxLength(300) .HasColumnType("nvarchar(300)"); b.Property("PageKey") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("SettingsJson") .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("PageKey") .IsUnique() .HasDatabaseName("IX_SitePageSettings_PageKey"); b.ToTable("SitePageSettings", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Contract", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("HtmlContent") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("Contracts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DayaLoanContract", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ContractNumber") .HasColumnType("nvarchar(max)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsProcessed") .HasColumnType("bit"); b.Property("LastCheckDate") .HasColumnType("datetime2"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("NationalCode") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ProcessedDate") .HasColumnType("datetime2"); b.Property("Status") .HasColumnType("int"); b.Property("TransactionId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("TransactionId"); b.HasIndex("UserId"); b.ToTable("DayaLoanContracts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); b.Property("ImagePath") .HasColumnType("nvarchar(max)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("ParentCategoryId") .HasColumnType("bigint"); b.Property("SortOrder") .HasColumnType("int"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("ParentCategoryId"); b.ToTable("DiscountCategories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountOrder", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DeliveryDescription") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("DeliveryStatus") .HasColumnType("int"); b.Property("DiscountBalanceUsed") .HasColumnType("bigint"); b.Property("GatewayAmountPaid") .HasColumnType("bigint"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PaymentDate") .HasColumnType("datetime2"); b.Property("PaymentStatus") .HasColumnType("int"); b.Property("TotalAmount") .HasColumnType("bigint"); b.Property("TrackingCode") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("TransactionId") .HasColumnType("bigint"); b.Property("UserAddressId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.Property("VatAmount") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("TransactionId"); b.HasIndex("UserAddressId"); b.HasIndex("UserId"); b.ToTable("DiscountOrders", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountOrderDetail", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Count") .HasColumnType("int"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DiscountAmount") .HasColumnType("bigint"); b.Property("DiscountOrderId") .HasColumnType("bigint"); b.Property("DiscountPercentUsed") .HasColumnType("int"); b.Property("FinalPrice") .HasColumnType("bigint"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.Property("UnitPrice") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("DiscountOrderId"); b.HasIndex("ProductId"); b.ToTable("DiscountOrderDetails", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("FullInformation") .IsRequired() .HasMaxLength(2000) .HasColumnType("nvarchar(2000)"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MaxDiscountPercent") .HasColumnType("int"); b.Property("Price") .HasColumnType("bigint"); b.Property("Rate") .HasColumnType("int"); b.Property("RemainingCount") .HasColumnType("int"); b.Property("SaleCount") .HasColumnType("int"); b.Property("ShortInfomation") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("ThumbnailPath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("ViewCount") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("DiscountProducts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProductCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CategoryId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CategoryId"); b.HasIndex("ProductId", "CategoryId") .IsUnique(); b.ToTable("DiscountProductCategories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProductImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("AltText") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DiscountProductId") .HasColumnType("bigint"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("SortOrder") .HasColumnType("int"); b.Property("ThumbnailPath") .HasColumnType("nvarchar(max)"); b.Property("Title") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("DiscountProductId"); b.HasIndex("DiscountProductId", "SortOrder"); b.ToTable("DiscountProductImages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountShoppingCart", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Count") .HasColumnType("int"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("UserId", "ProductId") .IsUnique(); b.ToTable("DiscountShoppingCarts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.FactorDetails", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Count") .HasColumnType("int"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsChangePrice") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("OrderId") .HasColumnType("bigint"); b.Property("ProductId") .HasColumnType("bigint"); b.Property("UnitDiscount") .HasColumnType("int"); b.Property("UnitDiscountPrice") .HasColumnType("bigint"); b.Property("UnitPrice") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("ProductId"); b.ToTable("FactorDetails", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.City", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("ExternalId") .HasColumnType("bigint"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Latitude") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Longitude") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Name") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Native") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(500) .HasColumnType("nvarchar(500)") .HasDefaultValue(""); b.Property("StateId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("StateId") .HasDatabaseName("IX_Cities_StateId"); b.ToTable("Cities", "GMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.Country", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Capital") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Currency") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("CurrencyName") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("CurrencySymbol") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("Emoji") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("EmojiU") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("ExternalId") .HasColumnType("bigint"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("Iso2") .IsRequired() .HasMaxLength(2) .HasColumnType("nvarchar(2)"); b.Property("Iso3") .IsRequired() .HasMaxLength(3) .HasColumnType("nvarchar(3)"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Latitude") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Longitude") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Name") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Native") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("NumericCode") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("PhoneCode") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("Region") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("Subregion") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("Tld") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.HasKey("Id"); b.ToTable("Countries", "GMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.State", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CountryId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("ExternalId") .HasColumnType("bigint"); b.Property("IsDeleted") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Latitude") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Longitude") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Name") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Native") .IsRequired() .ValueGeneratedOnAdd() .HasMaxLength(500) .HasColumnType("nvarchar(500)") .HasDefaultValue(""); b.Property("StateCode") .IsRequired() .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("Type") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.HasKey("Id"); b.HasIndex("CountryId") .HasDatabaseName("IX_States_CountryId"); b.ToTable("States", "GMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.History.ClubMembershipHistory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Action") .HasColumnType("int"); b.Property("ClubMembershipId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("NewInitialContribution") .HasColumnType("bigint"); b.Property("NewIsActive") .HasColumnType("bit"); b.Property("OldInitialContribution") .HasColumnType("bigint"); b.Property("OldIsActive") .HasColumnType("bit"); b.Property("PerformedBy") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("Reason") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("Action") .HasDatabaseName("IX_ClubMembershipHistory_Action"); b.HasIndex("ClubMembershipId") .HasDatabaseName("IX_ClubMembershipHistory_ClubMembershipId"); b.HasIndex("UserId", "Created") .HasDatabaseName("IX_ClubMembershipHistory_UserId_Created"); b.ToTable("ClubMembershipHistories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.History.CommissionPayoutHistory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Action") .HasColumnType("int"); b.Property("AmountAfter") .HasColumnType("bigint"); b.Property("AmountBefore") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("NewStatus") .HasColumnType("int"); b.Property("OldStatus") .HasColumnType("int"); b.Property("PerformedBy") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("Reason") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("UserCommissionPayoutId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.Property("WeekDefinitionId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("Action") .HasDatabaseName("IX_CommissionPayoutHistory_Action"); b.HasIndex("UserCommissionPayoutId") .HasDatabaseName("IX_CommissionPayoutHistory_PayoutId"); b.HasIndex("WeekDefinitionId") .HasDatabaseName("IX_CommissionPayoutHistory_WeekDefinitionId"); b.HasIndex("UserId", "Created") .HasDatabaseName("IX_CommissionPayoutHistory_UserId_Created"); b.ToTable("CommissionPayoutHistories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.History.NetworkMembershipHistory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Action") .HasColumnType("int"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("NewLegPosition") .HasColumnType("int"); b.Property("NewParentId") .HasColumnType("bigint"); b.Property("OldLegPosition") .HasColumnType("int"); b.Property("OldParentId") .HasColumnType("bigint"); b.Property("PerformedBy") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("Reason") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("Action") .HasDatabaseName("IX_NetworkMembershipHistory_Action"); b.HasIndex("UserId", "Created") .HasDatabaseName("IX_NetworkMembershipHistory_UserId_Created"); b.ToTable("NetworkMembershipHistories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.InventoryItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DiscountProductId") .HasColumnType("bigint"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("LastRestockedAt") .HasColumnType("datetime2"); b.Property("LastSoldAt") .HasColumnType("datetime2"); b.Property("LowStockThreshold") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(10); b.Property("MaxStockLevel") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(1000); b.Property("ProductId") .HasColumnType("bigint"); b.Property("ProductType") .HasColumnType("int"); b.Property("Quantity") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("ReorderPoint") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(5); b.Property("ReservedQuantity") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.Property("WarehouseId") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasDefaultValue(1L); b.HasKey("Id"); b.HasIndex("DiscountProductId") .HasDatabaseName("IX_InventoryItems_DiscountProductId"); b.HasIndex("ProductId") .HasDatabaseName("IX_InventoryItems_ProductId"); b.HasIndex("WarehouseId") .HasDatabaseName("IX_InventoryItems_WarehouseId"); b.HasIndex("ProductType", "Quantity") .HasDatabaseName("IX_InventoryItems_ProductType_Quantity"); b.ToTable("InventoryItems", "CMS", t => { t.HasCheckConstraint("CK_InventoryItem_ProductReference", "(ProductId IS NOT NULL AND DiscountProductId IS NULL) OR (ProductId IS NULL AND DiscountProductId IS NOT NULL)"); t.HasCheckConstraint("CK_InventoryItem_ProductType_Match", "(ProductType = 1 AND ProductId IS NOT NULL) OR (ProductType = 2 AND DiscountProductId IS NOT NULL)"); t.HasCheckConstraint("CK_InventoryItem_Quantity_NonNegative", "Quantity >= 0"); t.HasCheckConstraint("CK_InventoryItem_ReservedQuantity_LessOrEqualQuantity", "ReservedQuantity <= Quantity"); t.HasCheckConstraint("CK_InventoryItem_ReservedQuantity_NonNegative", "ReservedQuantity >= 0"); }); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Network.NetworkWeeklyBalance", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CalculatedAt") .HasColumnType("datetime2"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("FlushedPerSide") .HasColumnType("int"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsExpired") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("LeftLegBalances") .HasColumnType("int"); b.Property("LeftLegCarryover") .HasColumnType("int"); b.Property("LeftLegNewMembers") .HasColumnType("int"); b.Property("LeftLegRemainder") .HasColumnType("int"); b.Property("LeftLegTotal") .HasColumnType("int"); b.Property("RightLegBalances") .HasColumnType("int"); b.Property("RightLegCarryover") .HasColumnType("int"); b.Property("RightLegNewMembers") .HasColumnType("int"); b.Property("RightLegRemainder") .HasColumnType("int"); b.Property("RightLegTotal") .HasColumnType("int"); b.Property("SubordinateBalances") .HasColumnType("int"); b.Property("TotalBalances") .HasColumnType("int"); b.Property("TotalFlushed") .HasColumnType("int"); b.Property("UserId") .HasColumnType("bigint"); b.Property("WeekDefinitionId") .HasColumnType("bigint"); b.Property("WeeklyPoolContribution") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("IsExpired") .HasDatabaseName("IX_NetworkWeeklyBalance_IsExpired"); b.HasIndex("WeekDefinitionId") .HasDatabaseName("IX_NetworkWeeklyBalance_WeekDefinitionId"); b.HasIndex("UserId", "WeekDefinitionId") .IsUnique() .HasDatabaseName("IX_NetworkWeeklyBalance_UserId_WeekDefinitionId"); b.ToTable("NetworkWeeklyBalances", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Order.OrderVAT", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("BaseAmount") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsPaid") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Note") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("OrderId") .HasColumnType("bigint"); b.Property("PaidAt") .HasColumnType("datetime2"); b.Property("TotalAmount") .HasColumnType("bigint"); b.Property("VATAmount") .HasColumnType("bigint"); b.Property("VATRate") .HasColumnType("decimal(5,4)"); b.HasKey("Id"); b.HasIndex("Created") .HasDatabaseName("IX_OrderVATs_Created"); b.HasIndex("IsPaid") .HasDatabaseName("IX_OrderVATs_IsPaid"); b.HasIndex("OrderId") .IsUnique() .HasDatabaseName("IX_OrderVATs_OrderId"); b.ToTable("OrderVATs", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.OtpToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Attempts") .HasColumnType("int"); b.Property("CodeHash") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("ExpiresAt") .HasColumnType("datetime2"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsUsed") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Mobile") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Purpose") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("OtpTokens", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Package", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Price") .HasColumnType("bigint"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("Packages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Payment.ManualPayment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("bigint"); b.Property("ApprovedAt") .HasColumnType("datetime2"); b.Property("ApprovedBy") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .IsRequired() .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); b.Property("ImageDocumentId") .HasColumnType("bigint"); b.Property("ImagePath") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ReferenceNumber") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("RejectionReason") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("RequestedBy") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("int"); b.Property("TransactionId") .HasColumnType("bigint"); b.Property("Type") .HasColumnType("int"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ApprovedBy"); b.HasIndex("Created"); b.HasIndex("RequestedBy"); b.HasIndex("Status"); b.HasIndex("TransactionId"); b.HasIndex("UserId"); b.HasIndex("UserId", "Status"); b.ToTable("ManualPayments", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Payment.PaymentTransaction", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("bigint"); b.Property("Authority") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("CallbackUrl") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("CardHash") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("CardPan") .HasMaxLength(30) .HasColumnType("nvarchar(30)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("GatewayProvider") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MerchantId") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("Mobile") .HasMaxLength(20) .HasColumnType("nvarchar(20)"); b.Property("OrderId") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("PaymentStatus") .HasColumnType("bit"); b.Property("RefId") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("RequestStatusCode") .HasColumnType("int"); b.Property("RequestStatusMessage") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("TransactionId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.Property("VerificationStatusCode") .HasColumnType("int"); b.Property("VerificationStatusMessage") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.HasKey("Id"); b.HasIndex("Authority"); b.HasIndex("GatewayProvider"); b.HasIndex("RefId"); b.HasIndex("TransactionId"); b.HasIndex("UserId"); b.ToTable("PaymentTransactions", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Product", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ClubDiscountPercent") .HasColumnType("int"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Discount") .HasColumnType("int"); b.Property("FullInformation") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsClubExclusive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Price") .HasColumnType("bigint"); b.Property("Rate") .HasColumnType("int"); b.Property("RemainingCount") .HasColumnType("int"); b.Property("SaleCount") .HasColumnType("int"); b.Property("ShortInfomation") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ThumbnailPath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ViewCount") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("IsClubExclusive") .HasDatabaseName("IX_Products_IsClubExclusive"); b.ToTable("Products", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CategoryId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CategoryId"); b.HasIndex("ProductId"); b.ToTable("ProductCategories", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductGallery", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.Property("ProductImageId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("ProductImageId"); b.ToTable("ProductGalleries", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("ImagePath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ImageThumbnailPath") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("ProductImages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductTag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.Property("TagId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("TagId"); b.ToTable("ProductTags", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.PublicMessage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ArchivedAt") .HasColumnType("datetime2"); b.Property("Content") .IsRequired() .HasMaxLength(2000) .HasColumnType("nvarchar(2000)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("CreatedByUserId") .HasColumnType("bigint"); b.Property("EndDate") .HasColumnType("datetime2"); b.Property("ExpiresAt") .HasColumnType("datetime2"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsArchived") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("LinkText") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("LinkUrl") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("Priority") .HasColumnType("int"); b.Property("PublishedAt") .HasColumnType("datetime2"); b.Property("StartDate") .HasColumnType("datetime2"); b.Property("StartsAt") .HasColumnType("datetime2"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("Type") .HasColumnType("int"); b.Property("ViewCount") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.HasKey("Id"); b.HasIndex("CreatedByUserId") .HasDatabaseName("IX_PublicMessages_CreatedByUserId"); b.HasIndex("ExpiresAt") .HasDatabaseName("IX_PublicMessages_ExpiresAt"); b.HasIndex("IsActive") .HasDatabaseName("IX_PublicMessages_IsActive"); b.HasIndex("Priority") .HasDatabaseName("IX_PublicMessages_Priority"); b.HasIndex("StartsAt") .HasDatabaseName("IX_PublicMessages_StartsAt"); b.HasIndex("Type") .HasDatabaseName("IX_PublicMessages_Type"); b.HasIndex("IsActive", "ExpiresAt") .HasDatabaseName("IX_PublicMessages_IsActive_ExpiresAt"); b.ToTable("PublicMessages", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("Roles", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.StockMovement", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DiscountOrderId") .HasColumnType("bigint"); b.Property("InventoryItemId") .HasColumnType("bigint"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MovementType") .HasColumnType("int"); b.Property("Note") .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.Property("OrderId") .HasColumnType("bigint"); b.Property("PerformedByUserId") .HasColumnType("bigint"); b.Property("Quantity") .HasColumnType("int"); b.Property("QuantityAfter") .HasColumnType("int"); b.Property("QuantityBefore") .HasColumnType("int"); b.Property("ReferenceNumber") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.HasKey("Id"); b.HasIndex("Created") .HasDatabaseName("IX_StockMovements_Created"); b.HasIndex("DiscountOrderId") .HasDatabaseName("IX_StockMovements_DiscountOrderId") .HasFilter("[DiscountOrderId] IS NOT NULL"); b.HasIndex("InventoryItemId") .HasDatabaseName("IX_StockMovements_InventoryItemId"); b.HasIndex("MovementType") .HasDatabaseName("IX_StockMovements_MovementType"); b.HasIndex("OrderId") .HasDatabaseName("IX_StockMovements_OrderId") .HasFilter("[OrderId] IS NOT NULL"); b.HasIndex("ReferenceNumber") .HasDatabaseName("IX_StockMovements_ReferenceNumber") .HasFilter("[ReferenceNumber] IS NOT NULL"); b.HasIndex("InventoryItemId", "MovementType", "Created") .HasDatabaseName("IX_StockMovements_Item_Type_Date"); b.ToTable("StockMovements", "CMS", t => { t.HasCheckConstraint("CK_StockMovement_QuantityAfter_Calculation", "QuantityAfter = QuantityBefore + Quantity"); t.HasCheckConstraint("CK_StockMovement_QuantityAfter_NonNegative", "QuantityAfter >= 0"); t.HasCheckConstraint("CK_StockMovement_QuantityBefore_NonNegative", "QuantityBefore >= 0"); }); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Tag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("IsActive") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("SortOrder") .HasColumnType("int"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("Tags", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Transaction", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("Description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PaymentDate") .HasColumnType("datetime2"); b.Property("PaymentStatus") .HasColumnType("int"); b.Property("RefId") .HasColumnType("nvarchar(max)"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.ToTable("Transactions", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("AvatarPath") .HasColumnType("nvarchar(max)"); b.Property("BirthDate") .HasColumnType("datetime2"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DayaCreditReceivedAt") .HasColumnType("datetime2"); b.Property("Email") .HasColumnType("nvarchar(max)"); b.Property("EmailNotifications") .HasColumnType("bit"); b.Property("FirstName") .HasColumnType("nvarchar(max)"); b.Property("HasReceivedDayaCredit") .HasColumnType("bit"); b.Property("HashPassword") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsMobileVerified") .HasColumnType("bit"); b.Property("IsRulesAccepted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("LastName") .HasColumnType("nvarchar(max)"); b.Property("LegPosition") .HasColumnType("int"); b.Property("Mobile") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("MobileVerifiedAt") .HasColumnType("datetime2"); b.Property("NationalCode") .HasColumnType("nvarchar(max)"); b.Property("NetworkParentId") .HasColumnType("bigint"); b.Property("PackagePurchaseMethod") .HasColumnType("int"); b.Property("PushNotifications") .HasColumnType("bit"); b.Property("ReferralCode") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("RulesAcceptedAt") .HasColumnType("datetime2"); b.Property("SmsNotifications") .HasColumnType("bit"); b.HasKey("Id"); b.HasIndex("LegPosition") .HasDatabaseName("IX_User_LegPosition"); b.HasIndex("NetworkParentId") .HasDatabaseName("IX_User_NetworkParentId"); b.ToTable("Users", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserAddress", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Address") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("CityId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDefault") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PostalCode") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("Title") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserAddresses", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserCart", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Count") .HasColumnType("int"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("ProductId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("UserId"); b.ToTable("UserCarts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserContract", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ContractId") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("SignGuid") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("SignedPdfFile") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("ContractId"); b.HasIndex("UserId"); b.ToTable("UserContracts", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserOrder", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DeliveryDescription") .HasColumnType("nvarchar(max)"); b.Property("DeliveryStatus") .HasColumnType("int"); b.Property("HasVAT") .HasColumnType("bit"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PackageId") .HasColumnType("bigint"); b.Property("PaymentDate") .HasColumnType("datetime2"); b.Property("PaymentMethod") .HasColumnType("int"); b.Property("PaymentStatus") .HasColumnType("int"); b.Property("TrackingCode") .HasColumnType("nvarchar(max)"); b.Property("TransactionId") .HasColumnType("bigint"); b.Property("UserAddressId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("PackageId"); b.HasIndex("TransactionId"); b.HasIndex("UserAddressId"); b.HasIndex("UserId"); b.ToTable("UserOrders", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserPackagePurchase", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("OrderId") .HasColumnType("bigint"); b.Property("PackageId") .HasColumnType("bigint"); b.Property("PurchaseMethod") .HasColumnType("int"); b.Property("PurchasedAt") .HasColumnType("datetime2"); b.Property("TransactionId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("PackageId") .HasDatabaseName("IX_UserPackagePurchase_PackageId"); b.HasIndex("PurchasedAt") .HasDatabaseName("IX_UserPackagePurchase_PurchasedAt"); b.HasIndex("TransactionId"); b.HasIndex("UserId") .HasDatabaseName("IX_UserPackagePurchase_UserId"); b.HasIndex("UserId", "PurchasedAt") .HasDatabaseName("IX_UserPackagePurchase_UserId_PurchasedAt"); b.ToTable("UserPackagePurchases", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("RoleId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("RoleId"); b.HasIndex("UserId"); b.ToTable("UserRoles", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserWallet", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Balance") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DiscountBalance") .HasColumnType("bigint"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("MagicActivatedAt") .HasColumnType("datetime2"); b.Property("MagicCompletedAt") .HasColumnType("datetime2"); b.Property("MagicTotalCredited") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasDefaultValue(0L); b.Property("MagicTotalDeposited") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasDefaultValue(0L); b.Property("NetworkBalance") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("bigint"); b.Property("WalletMode") .ValueGeneratedOnAdd() .HasColumnType("int") .HasDefaultValue(0); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserWallets", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserWalletChangeLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("ChangeDiscountValue") .HasColumnType("bigint"); b.Property("ChangeNerworkValue") .HasColumnType("bigint"); b.Property("ChangeValue") .HasColumnType("bigint"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("CurrentBalance") .HasColumnType("bigint"); b.Property("CurrentDiscountBalance") .HasColumnType("bigint"); b.Property("CurrentNetworkBalance") .HasColumnType("bigint"); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("IsIncrease") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("RefrenceId") .HasColumnType("bigint"); b.Property("WalletId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("WalletId"); b.ToTable("UserWalletChangeLogs", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Warehouse", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Address") .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); b.Property("Code") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDefault") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(false); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("Name") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("Id"); b.HasIndex("Code") .IsUnique() .HasDatabaseName("IX_Warehouses_Code_Unique"); b.HasIndex("IsActive") .HasDatabaseName("IX_Warehouses_IsActive"); b.HasIndex("IsDefault") .HasDatabaseName("IX_Warehouses_IsDefault") .HasFilter("[IsDefault] = 1"); b.ToTable("Warehouses", "CMS"); b.HasData( new { Id = 1L, Address = "تهران - انبار مرکزی فروشگاه", Code = "WH-001", Created = new DateTime(2026, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "System", IsActive = true, IsDefault = true, IsDeleted = false, Name = "انبار اصلی" }); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.WeekDefinition", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime2"); b.Property("CreatedBy") .HasColumnType("nvarchar(max)"); b.Property("DisplayName") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("EndDate") .HasColumnType("datetime2"); b.Property("GregorianWeekNumber") .IsRequired() .HasMaxLength(20) .HasColumnType("nvarchar(20)"); b.Property("GregorianYear") .HasColumnType("int"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("bit") .HasDefaultValue(true); b.Property("IsDeleted") .HasColumnType("bit"); b.Property("LastModified") .HasColumnType("datetime2"); b.Property("LastModifiedBy") .HasColumnType("nvarchar(max)"); b.Property("PersianWeekNumber") .IsRequired() .HasMaxLength(20) .HasColumnType("nvarchar(20)"); b.Property("PersianYear") .HasColumnType("int"); b.Property("StartDate") .HasColumnType("datetime2"); b.Property("WeekOrder") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("GregorianWeekNumber") .IsUnique() .HasDatabaseName("IX_WeekDefinition_GregorianWeekNumber"); b.HasIndex("GregorianYear") .HasDatabaseName("IX_WeekDefinition_GregorianYear"); b.HasIndex("PersianWeekNumber") .HasDatabaseName("IX_WeekDefinition_PersianWeekNumber"); b.HasIndex("PersianYear") .HasDatabaseName("IX_WeekDefinition_PersianYear"); b.HasIndex("StartDate") .HasDatabaseName("IX_WeekDefinition_StartDate"); b.ToTable("WeekDefinitions", "CMS"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPostCategory", b => { b.HasOne("CMSMicroservice.Domain.Entities.Blog.BlogCategory", "BlogCategory") .WithMany("BlogPostCategories") .HasForeignKey("BlogCategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Blog.BlogPost", "BlogPost") .WithMany("BlogPostCategories") .HasForeignKey("BlogPostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("BlogCategory"); b.Navigation("BlogPost"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPostImage", b => { b.HasOne("CMSMicroservice.Domain.Entities.Blog.BlogPost", "BlogPost") .WithMany("BlogPostImages") .HasForeignKey("BlogPostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("BlogPost"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPostTag", b => { b.HasOne("CMSMicroservice.Domain.Entities.Blog.BlogPost", "BlogPost") .WithMany("BlogPostTags") .HasForeignKey("BlogPostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Tag", "Tag") .WithMany() .HasForeignKey("TagId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("BlogPost"); b.Navigation("Tag"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Category", b => { b.HasOne("CMSMicroservice.Domain.Entities.Category", "Parent") .WithMany("Categories") .HasForeignKey("ParentId"); b.Navigation("Parent"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubMembership", b => { b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithOne("ClubMembership") .HasForeignKey("CMSMicroservice.Domain.Entities.Club.ClubMembership", "UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubMembershipCycle", b => { b.HasOne("CMSMicroservice.Domain.Entities.Club.ClubMembership", "ClubMembership") .WithMany("Cycles") .HasForeignKey("ClubMembershipId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("ClubMembership"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.UserClubFeature", b => { b.HasOne("CMSMicroservice.Domain.Entities.Club.ClubFeature", "ClubFeature") .WithMany("UserClubFeatures") .HasForeignKey("ClubFeatureId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Club.ClubMembership", "ClubMembership") .WithMany("UserClubFeatures") .HasForeignKey("ClubMembershipId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserClubFeatures") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("ClubFeature"); b.Navigation("ClubMembership"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.UserCommissionPayout", b => { b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("CommissionPayouts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.WeekDefinition", "WeekDefinition") .WithMany("UserCommissionPayouts") .HasForeignKey("WeekDefinitionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Commission.WeeklyCommissionPool", "WeeklyPool") .WithMany("UserCommissionPayouts") .HasForeignKey("WeeklyPoolId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("User"); b.Navigation("WeekDefinition"); b.Navigation("WeeklyPool"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.WeeklyCommissionPool", b => { b.HasOne("CMSMicroservice.Domain.Entities.WeekDefinition", "WeekDefinition") .WithMany("WeeklyCommissionPools") .HasForeignKey("WeekDefinitionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("WeekDefinition"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.WorkerExecutionLog", b => { b.HasOne("CMSMicroservice.Domain.Entities.WeekDefinition", "WeekDefinition") .WithMany("WorkerExecutionLogs") .HasForeignKey("WeekDefinitionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("WeekDefinition"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePageImage", b => { b.HasOne("CMSMicroservice.Domain.Entities.Content.SitePageSettings", "SitePageSettings") .WithMany("Images") .HasForeignKey("SitePageSettingsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("SitePageSettings"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePageSection", b => { b.HasOne("CMSMicroservice.Domain.Entities.Content.SitePage", "SitePage") .WithMany("Sections") .HasForeignKey("SitePageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("SitePage"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DayaLoanContract", b => { b.HasOne("CMSMicroservice.Domain.Entities.Transaction", "Transaction") .WithMany() .HasForeignKey("TransactionId"); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("DayaLoanContracts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Transaction"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountCategory", b => { b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountCategory", "ParentCategory") .WithMany("ChildCategories") .HasForeignKey("ParentCategoryId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("ParentCategory"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountOrder", b => { b.HasOne("CMSMicroservice.Domain.Entities.Transaction", "Transaction") .WithMany() .HasForeignKey("TransactionId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("CMSMicroservice.Domain.Entities.UserAddress", "UserAddress") .WithMany() .HasForeignKey("UserAddressId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("DiscountOrders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Transaction"); b.Navigation("User"); b.Navigation("UserAddress"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountOrderDetail", b => { b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountOrder", "DiscountOrder") .WithMany("OrderDetails") .HasForeignKey("DiscountOrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", "Product") .WithMany("OrderDetails") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("DiscountOrder"); b.Navigation("Product"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProductCategory", b => { b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountCategory", "Category") .WithMany("ProductCategories") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", "Product") .WithMany("ProductCategories") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Category"); b.Navigation("Product"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProductImage", b => { b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", "DiscountProduct") .WithMany("Images") .HasForeignKey("DiscountProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DiscountProduct"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountShoppingCart", b => { b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", "Product") .WithMany("ShoppingCarts") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("DiscountShoppingCarts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Product"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.FactorDetails", b => { b.HasOne("CMSMicroservice.Domain.Entities.UserOrder", "Order") .WithMany("FactorDetails") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Product", "Product") .WithMany("FactorDetails") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Order"); b.Navigation("Product"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.City", b => { b.HasOne("CMSMicroservice.Domain.Entities.Geography.State", "State") .WithMany("Cities") .HasForeignKey("StateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("State"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.State", b => { b.HasOne("CMSMicroservice.Domain.Entities.Geography.Country", "Country") .WithMany("States") .HasForeignKey("CountryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Country"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.History.ClubMembershipHistory", b => { b.HasOne("CMSMicroservice.Domain.Entities.Club.ClubMembership", "ClubMembership") .WithMany("ClubMembershipHistories") .HasForeignKey("ClubMembershipId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("ClubMembership"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.History.CommissionPayoutHistory", b => { b.HasOne("CMSMicroservice.Domain.Entities.Commission.UserCommissionPayout", "UserCommissionPayout") .WithMany("CommissionPayoutHistories") .HasForeignKey("UserCommissionPayoutId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.WeekDefinition", "WeekDefinition") .WithMany("CommissionPayoutHistories") .HasForeignKey("WeekDefinitionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("UserCommissionPayout"); b.Navigation("WeekDefinition"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.InventoryItem", b => { b.HasOne("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", "DiscountProduct") .WithMany() .HasForeignKey("DiscountProductId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("CMSMicroservice.Domain.Entities.Product", "Product") .WithMany() .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("CMSMicroservice.Domain.Entities.Warehouse", "Warehouse") .WithMany("InventoryItems") .HasForeignKey("WarehouseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("DiscountProduct"); b.Navigation("Product"); b.Navigation("Warehouse"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Network.NetworkWeeklyBalance", b => { b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("NetworkWeeklyBalances") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.WeekDefinition", "WeekDefinition") .WithMany("NetworkWeeklyBalances") .HasForeignKey("WeekDefinitionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("User"); b.Navigation("WeekDefinition"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Order.OrderVAT", b => { b.HasOne("CMSMicroservice.Domain.Entities.UserOrder", "Order") .WithOne("OrderVAT") .HasForeignKey("CMSMicroservice.Domain.Entities.Order.OrderVAT", "OrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Order"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Payment.ManualPayment", b => { b.HasOne("CMSMicroservice.Domain.Entities.Transaction", "Transaction") .WithMany() .HasForeignKey("TransactionId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Transaction"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductCategory", b => { b.HasOne("CMSMicroservice.Domain.Entities.Category", "Category") .WithMany("ProductCategories") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Product", "Product") .WithMany("ProductCategories") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Category"); b.Navigation("Product"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductGallery", b => { b.HasOne("CMSMicroservice.Domain.Entities.Product", "Product") .WithMany("ProductGalleries") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.ProductImage", "ProductImage") .WithMany("ProductGalleries") .HasForeignKey("ProductImageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Product"); b.Navigation("ProductImage"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductTag", b => { b.HasOne("CMSMicroservice.Domain.Entities.Product", "Product") .WithMany("ProductTags") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Tag", "Tag") .WithMany("ProductTags") .HasForeignKey("TagId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Product"); b.Navigation("Tag"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.StockMovement", b => { b.HasOne("CMSMicroservice.Domain.Entities.InventoryItem", "InventoryItem") .WithMany("StockMovements") .HasForeignKey("InventoryItemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("InventoryItem"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.User", b => { b.HasOne("CMSMicroservice.Domain.Entities.User", "NetworkParent") .WithMany("NetworkChildren") .HasForeignKey("NetworkParentId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("NetworkParent"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserAddress", b => { b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserAddresses") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserCart", b => { b.HasOne("CMSMicroservice.Domain.Entities.Product", "Product") .WithMany("UserCarts") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserCarts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Product"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserContract", b => { b.HasOne("CMSMicroservice.Domain.Entities.Contract", "Contract") .WithMany("UserContracts") .HasForeignKey("ContractId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserContracts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Contract"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserOrder", b => { b.HasOne("CMSMicroservice.Domain.Entities.Package", "Package") .WithMany("UserOrders") .HasForeignKey("PackageId"); b.HasOne("CMSMicroservice.Domain.Entities.Transaction", "Transaction") .WithMany("UserOrders") .HasForeignKey("TransactionId"); b.HasOne("CMSMicroservice.Domain.Entities.UserAddress", "UserAddress") .WithMany("UserOrders") .HasForeignKey("UserAddressId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserOrders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Package"); b.Navigation("Transaction"); b.Navigation("User"); b.Navigation("UserAddress"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserPackagePurchase", b => { b.HasOne("CMSMicroservice.Domain.Entities.UserOrder", "Order") .WithMany() .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("CMSMicroservice.Domain.Entities.Package", "Package") .WithMany() .HasForeignKey("PackageId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.Transaction", "Transaction") .WithMany() .HasForeignKey("TransactionId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Order"); b.Navigation("Package"); b.Navigation("Transaction"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserRole", b => { b.HasOne("CMSMicroservice.Domain.Entities.Role", "Role") .WithMany("UserRoles") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserRoles") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Role"); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserWallet", b => { b.HasOne("CMSMicroservice.Domain.Entities.User", "User") .WithMany("UserWallets") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserWalletChangeLog", b => { b.HasOne("CMSMicroservice.Domain.Entities.UserWallet", "Wallet") .WithMany("UserWalletChangeLogs") .HasForeignKey("WalletId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Wallet"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogCategory", b => { b.Navigation("BlogPostCategories"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Blog.BlogPost", b => { b.Navigation("BlogPostCategories"); b.Navigation("BlogPostImages"); b.Navigation("BlogPostTags"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Category", b => { b.Navigation("Categories"); b.Navigation("ProductCategories"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubFeature", b => { b.Navigation("UserClubFeatures"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Club.ClubMembership", b => { b.Navigation("ClubMembershipHistories"); b.Navigation("Cycles"); b.Navigation("UserClubFeatures"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.UserCommissionPayout", b => { b.Navigation("CommissionPayoutHistories"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Commission.WeeklyCommissionPool", b => { b.Navigation("UserCommissionPayouts"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePage", b => { b.Navigation("Sections"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Content.SitePageSettings", b => { b.Navigation("Images"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Contract", b => { b.Navigation("UserContracts"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountCategory", b => { b.Navigation("ChildCategories"); b.Navigation("ProductCategories"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountOrder", b => { b.Navigation("OrderDetails"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.DiscountShop.DiscountProduct", b => { b.Navigation("Images"); b.Navigation("OrderDetails"); b.Navigation("ProductCategories"); b.Navigation("ShoppingCarts"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.Country", b => { b.Navigation("States"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Geography.State", b => { b.Navigation("Cities"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.InventoryItem", b => { b.Navigation("StockMovements"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Package", b => { b.Navigation("UserOrders"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Product", b => { b.Navigation("FactorDetails"); b.Navigation("ProductCategories"); b.Navigation("ProductGalleries"); b.Navigation("ProductTags"); b.Navigation("UserCarts"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.ProductImage", b => { b.Navigation("ProductGalleries"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Role", b => { b.Navigation("UserRoles"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Tag", b => { b.Navigation("ProductTags"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Transaction", b => { b.Navigation("UserOrders"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.User", b => { b.Navigation("ClubMembership"); b.Navigation("CommissionPayouts"); b.Navigation("DayaLoanContracts"); b.Navigation("DiscountOrders"); b.Navigation("DiscountShoppingCarts"); b.Navigation("NetworkChildren"); b.Navigation("NetworkWeeklyBalances"); b.Navigation("UserAddresses"); b.Navigation("UserCarts"); b.Navigation("UserClubFeatures"); b.Navigation("UserContracts"); b.Navigation("UserOrders"); b.Navigation("UserRoles"); b.Navigation("UserWallets"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserAddress", b => { b.Navigation("UserOrders"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserOrder", b => { b.Navigation("FactorDetails"); b.Navigation("OrderVAT"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.UserWallet", b => { b.Navigation("UserWalletChangeLogs"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.Warehouse", b => { b.Navigation("InventoryItems"); }); modelBuilder.Entity("CMSMicroservice.Domain.Entities.WeekDefinition", b => { b.Navigation("CommissionPayoutHistories"); b.Navigation("NetworkWeeklyBalances"); b.Navigation("UserCommissionPayouts"); b.Navigation("WeeklyCommissionPools"); b.Navigation("WorkerExecutionLogs"); }); #pragma warning restore 612, 618 } } }