feat: refactor week number handling to use WeekDefinitionId across multiple entities and queries

This commit is contained in:
masoodafar-web
2025-12-19 10:41:22 +03:30
parent 3cb95dc349
commit 8b784101be
83 changed files with 17592 additions and 566 deletions
@@ -301,10 +301,8 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.Property<long>("ValuePerBalance")
.HasColumnType("bigint");
b.Property<string>("WeekNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<long>("WeekDefinitionId")
.HasColumnType("bigint");
b.Property<long>("WeeklyPoolId")
.HasColumnType("bigint");
@@ -320,15 +318,14 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.HasIndex("Status")
.HasDatabaseName("IX_UserCommissionPayout_Status");
b.HasIndex("WeekNumber")
.HasDatabaseName("IX_UserCommissionPayout_WeekNumber");
b.HasIndex("WeekDefinitionId");
b.HasIndex("WeeklyPoolId")
.HasDatabaseName("IX_UserCommissionPayout_WeeklyPoolId");
b.HasIndex("UserId", "WeekNumber")
b.HasIndex("UserId", "WeekDefinitionId")
.IsUnique()
.HasDatabaseName("IX_UserCommissionPayout_UserId_WeekNumber");
.HasDatabaseName("IX_UserCommissionPayout_UserId_WeekDefinitionId");
b.ToTable("UserCommissionPayouts", "CMS");
});
@@ -371,19 +368,17 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.Property<long>("ValuePerBalance")
.HasColumnType("bigint");
b.Property<string>("WeekNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<long>("WeekDefinitionId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("IsCalculated")
.HasDatabaseName("IX_WeeklyCommissionPool_IsCalculated");
b.HasIndex("WeekNumber")
b.HasIndex("WeekDefinitionId")
.IsUnique()
.HasDatabaseName("IX_WeeklyCommissionPool_WeekNumber");
.HasDatabaseName("IX_WeeklyCommissionPool_WeekDefinitionId");
b.ToTable("WeeklyCommissionPools", "CMS");
});
@@ -442,10 +437,8 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.Property<int>("Status")
.HasColumnType("int");
b.Property<string>("WeekNumber")
.IsRequired()
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<long>("WeekDefinitionId")
.HasColumnType("bigint");
b.HasKey("Id");
@@ -453,7 +446,7 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.HasIndex("Status");
b.HasIndex("WeekNumber");
b.HasIndex("WeekDefinitionId");
b.ToTable("WorkerExecutionLogs", "CMS");
});
@@ -1379,10 +1372,8 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.Property<long>("UserId")
.HasColumnType("bigint");
b.Property<string>("WeekNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<long>("WeekDefinitionId")
.HasColumnType("bigint");
b.HasKey("Id");
@@ -1392,8 +1383,8 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.HasIndex("UserCommissionPayoutId")
.HasDatabaseName("IX_CommissionPayoutHistory_PayoutId");
b.HasIndex("WeekNumber")
.HasDatabaseName("IX_CommissionPayoutHistory_WeekNumber");
b.HasIndex("WeekDefinitionId")
.HasDatabaseName("IX_CommissionPayoutHistory_WeekDefinitionId");
b.HasIndex("UserId", "Created")
.HasDatabaseName("IX_CommissionPayoutHistory_UserId_Created");
@@ -1598,10 +1589,8 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.Property<long>("UserId")
.HasColumnType("bigint");
b.Property<string>("WeekNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<long>("WeekDefinitionId")
.HasColumnType("bigint");
b.Property<long>("WeeklyPoolContribution")
.HasColumnType("bigint");
@@ -1611,12 +1600,12 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.HasIndex("IsExpired")
.HasDatabaseName("IX_NetworkWeeklyBalance_IsExpired");
b.HasIndex("WeekNumber")
.HasDatabaseName("IX_NetworkWeeklyBalance_WeekNumber");
b.HasIndex("WeekDefinitionId")
.HasDatabaseName("IX_NetworkWeeklyBalance_WeekDefinitionId");
b.HasIndex("UserId", "WeekNumber")
b.HasIndex("UserId", "WeekDefinitionId")
.IsUnique()
.HasDatabaseName("IX_NetworkWeeklyBalance_UserId_WeekNumber");
.HasDatabaseName("IX_NetworkWeeklyBalance_UserId_WeekDefinitionId");
b.ToTable("NetworkWeeklyBalances", "CMS");
});
@@ -2841,6 +2830,85 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
b.ToTable("UserWalletChangeLogs", "CMS");
});
modelBuilder.Entity("CMSMicroservice.Domain.Entities.WeekDefinition", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"));
b.Property<DateTime>("Created")
.HasColumnType("datetime2");
b.Property<string>("CreatedBy")
.HasColumnType("nvarchar(max)");
b.Property<string>("DisplayName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime>("EndDate")
.HasColumnType("datetime2");
b.Property<string>("GregorianWeekNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("GregorianYear")
.HasColumnType("int");
b.Property<bool>("IsActive")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(true);
b.Property<bool>("IsDeleted")
.HasColumnType("bit");
b.Property<DateTime?>("LastModified")
.HasColumnType("datetime2");
b.Property<string>("LastModifiedBy")
.HasColumnType("nvarchar(max)");
b.Property<string>("PersianWeekNumber")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("PersianYear")
.HasColumnType("int");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<int>("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.Category", b =>
{
b.HasOne("CMSMicroservice.Domain.Entities.Category", "Parent")
@@ -2896,6 +2964,12 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
.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")
@@ -2904,9 +2978,33 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
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.DayaLoanContract", b =>
{
b.HasOne("CMSMicroservice.Domain.Entities.Transaction", "Transaction")
@@ -3077,7 +3175,15 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
.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.History.SystemConfigurationHistory", b =>
@@ -3099,7 +3205,15 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
.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 =>
@@ -3511,6 +3625,19 @@ namespace CMSMicroservice.Infrastructure.Persistence.Migrations
{
b.Navigation("UserWalletChangeLogs");
});
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
}
}