feat: add GetWeekDefinitions RPC and corresponding query handler for week retrieval

This commit is contained in:
masoodafar-web
2025-12-20 03:30:22 +03:30
parent 0cca79ebfe
commit 565a9605dc
37 changed files with 321 additions and 69 deletions
@@ -6,9 +6,9 @@ namespace FrontOffice.BFF.Application.CommissionCQ.Queries.GetMyCommissionPayout
public record GetMyCommissionPayoutsQuery : IRequest<GetMyCommissionPayoutsResponseDto>
{
/// <summary>
/// شماره هفته در فرمت ISO (مثال: "2025-W48"، null = همه)
/// شناسه تعریف هفته (null = همه)
/// </summary>
public string? WeekNumber { get; init; }
public long? WeekDefinitionId { get; init; }
/// <summary>
/// وضعیت: 0=Pending, 1=Calculated, 2=Paid, 3=Withdrawn (null = همه)
@@ -28,8 +28,8 @@ public class GetMyCommissionPayoutsQueryHandler : IRequestHandler<GetMyCommissio
};
// WeekNumber is string type in proto - assign directly
if (!string.IsNullOrEmpty(request.WeekNumber))
cmsRequest.WeekNumber = request.WeekNumber;
if (request.WeekDefinitionId!=null)
cmsRequest.WeekDefinitionId = request.WeekDefinitionId;
if (request.Status.HasValue)
cmsRequest.Status = request.Status.Value; // int? type in proto
@@ -39,8 +39,8 @@ public class GetMyCommissionPayoutsQueryHandler : IRequestHandler<GetMyCommissio
var payouts = response.Models.Select(p => new CommissionPayoutDto
{
Id = p.Id,
WeekNumber = p.WeekNumber,
WeekLabel = $"هفته {p.WeekNumber}",
WeekDefinitionId = p.WeekDefinitionId,
WeekDisplayName = p.WeekDisplayName,
BalancesEarned = (int)p.BalancesEarned,
TotalAmount = p.TotalAmount,
AmountFormatted = FormatCurrency(p.TotalAmount),
@@ -16,14 +16,14 @@ public class CommissionPayoutDto
public long Id { get; set; }
/// <summary>
/// شماره هفته (e.g., "2024-W45")
/// شناسه تعریف هفته
/// </summary>
public string WeekNumber { get; set; } = string.Empty;
public long WeekDefinitionId { get; set; }
/// <summary>
/// لیبل هفته (هفته 45 - آذر 1403)
/// نام نمایشی هفته (هفته 45 - آذر 1403)
/// </summary>
public string WeekLabel { get; set; } = string.Empty;
public string WeekDisplayName { get; set; } = string.Empty;
/// <summary>
/// تعداد Balance کسب شده