From a8a3d246da9951c825296a6292c853d317cbf68d Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Sun, 28 Dec 2025 23:57:26 +0330 Subject: [PATCH] feat: enhance WeeklyBalanceModel with carryover and new members fields; update mappings and response DTO --- .../GetMyWeeklyBalancesQueryHandler.cs | 12 ++++++++--- .../GetMyWeeklyBalancesResponseDto.cs | 20 +++++++++++++++++++ .../FrontOffice.BFF.Domain.csproj | 2 +- .../Common/Mappings/CommissionProfile.cs | 4 ++++ ...FrontOffice.BFF.Commission.Protobuf.csproj | 2 +- .../Protos/commission.proto | 10 +++++++--- 6 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesQueryHandler.cs b/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesQueryHandler.cs index dac4168..9757b56 100644 --- a/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesQueryHandler.cs @@ -35,17 +35,23 @@ public class GetMyWeeklyBalancesQueryHandler : IRequestHandler new WeeklyBalanceItemDto { Id = b.Id, WeekDefinitionId = b.WeekDefinitionId, WeekLabel = b.WeekDisplayName, - LeftLegBalances = b.LeftLegBalances, - RightLegBalances = b.RightLegBalances, + LeftLegBalances = b.LeftLegTotal, // Changed from LeftLegBalances + RightLegBalances = b.RightLegTotal, // Changed from RightLegBalances TotalBalances = b.TotalBalances, WeeklyPoolContribution = b.WeeklyPoolContribution, CalculatedAt = b.CalculatedAt?.ToDateTime(), - IsExpired = b.IsExpired + IsExpired = b.IsExpired, + // New fields for carryover info + LeftLegCarryover = b.LeftLegCarryover, + RightLegCarryover = b.RightLegCarryover, + LeftLegNewMembers = b.LeftLegNewMembers, + RightLegNewMembers = b.RightLegNewMembers }).ToList(); // Calculate summary diff --git a/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesResponseDto.cs b/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesResponseDto.cs index b8bd26c..4ee0de8 100644 --- a/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesResponseDto.cs +++ b/src/FrontOffice.BFF.Application/CommissionCQ/Queries/GetMyWeeklyBalances/GetMyWeeklyBalancesResponseDto.cs @@ -89,4 +89,24 @@ public class WeeklyBalanceItemDto /// تاریخ شمسی /// public string DatePersian { get; set; } = string.Empty; + + /// + /// انتقالی پای چپ از هفته قبل + /// + public int LeftLegCarryover { get; set; } + + /// + /// انتقالی پای راست از هفته قبل + /// + public int RightLegCarryover { get; set; } + + /// + /// اعضای جدید پای چپ این هفته + /// + public int LeftLegNewMembers { get; set; } + + /// + /// اعضای جدید پای راست این هفته + /// + public int RightLegNewMembers { get; set; } } diff --git a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj index b9ff64d..45f639d 100644 --- a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj +++ b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/FrontOffice.BFF.WebApi/Common/Mappings/CommissionProfile.cs b/src/FrontOffice.BFF.WebApi/Common/Mappings/CommissionProfile.cs index 73129a8..8cfed64 100644 --- a/src/FrontOffice.BFF.WebApi/Common/Mappings/CommissionProfile.cs +++ b/src/FrontOffice.BFF.WebApi/Common/Mappings/CommissionProfile.cs @@ -55,6 +55,10 @@ public class CommissionProfile : IRegister .Map(dest => dest.WeekDisplayName, src => src.WeekLabel) .Map(dest => dest.LeftLegBalances, src => src.LeftLegBalances) .Map(dest => dest.RightLegBalances, src => src.RightLegBalances) + .Map(dest => dest.LeftLegCarryover, src => src.LeftLegCarryover) + .Map(dest => dest.RightLegCarryover, src => src.RightLegCarryover) + .Map(dest => dest.LeftLegNewMembers, src => src.LeftLegNewMembers) + .Map(dest => dest.RightLegNewMembers, src => src.RightLegNewMembers) .Map(dest => dest.TotalBalances, src => src.TotalBalances) .Map(dest => dest.WeeklyPoolContribution, src => src.WeeklyPoolContribution) .Map(dest => dest.IsExpired, src => src.IsExpired) diff --git a/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/FrontOffice.BFF.Commission.Protobuf.csproj b/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/FrontOffice.BFF.Commission.Protobuf.csproj index 794b0a0..3f258b4 100644 --- a/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/FrontOffice.BFF.Commission.Protobuf.csproj +++ b/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/FrontOffice.BFF.Commission.Protobuf.csproj @@ -3,7 +3,7 @@ net9.0 enable enable - 0.0.4 + 0.0.6 Foursat.FrontOffice.BFF.Commission.Protobuf False False diff --git a/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/Protos/commission.proto b/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/Protos/commission.proto index 586f136..312a67a 100644 --- a/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/Protos/commission.proto +++ b/src/Protobufs/FrontOffice.BFF.Commission.Protobuf/Protos/commission.proto @@ -91,13 +91,17 @@ message WeeklyBalanceModel int64 id = 1; int64 week_definition_id = 2; string week_display_name = 3; - int32 left_leg_balances = 4; - int32 right_leg_balances = 5; - int32 total_balances = 6; + int32 left_leg_balances = 4; // مجموع پای چپ (NewMembers + Carryover) + int32 right_leg_balances = 5; // مجموع پای راست (NewMembers + Carryover) + int32 total_balances = 6; // تعداد تعادل = MIN(چپ, راست) int64 weekly_pool_contribution = 7; bool is_expired = 8; google.protobuf.Timestamp calculated_at = 9; string date_persian = 10; + int32 left_leg_carryover = 11; // انتقالی پای چپ از هفته قبل + int32 right_leg_carryover = 12; // انتقالی پای راست از هفته قبل + int32 left_leg_new_members = 13; // اعضای جدید پای چپ این هفته + int32 right_leg_new_members = 14; // اعضای جدید پای راست این هفته } // ============ GetWeekDefinitions ============