feat: refactor week number handling to use WeekDefinitionId across multiple entities and queries
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ public class GetWithdrawalRequestsQuery : IRequest<GetWithdrawalRequestsResponse
|
||||
{
|
||||
public int? Status { get; set; } // CommissionPayoutStatus enum
|
||||
public long? UserId { get; set; }
|
||||
public string? WeekNumber { get; set; }
|
||||
public long? WeekDefinitionId { get; init; }
|
||||
public string? IbanNumber { get; set; }
|
||||
public PaginationState? PaginationState { get; set; }
|
||||
public string? SortBy { get; set; }
|
||||
|
||||
+10
-4
@@ -3,10 +3,14 @@ namespace CMSMicroservice.Application.CommissionCQ.Queries.GetWithdrawalRequests
|
||||
public class GetWithdrawalRequestsQueryHandler : IRequestHandler<GetWithdrawalRequestsQuery, GetWithdrawalRequestsResponseDto>
|
||||
{
|
||||
private readonly IApplicationDbContext _context;
|
||||
private readonly IWeekDefinitionRepository _weekDefinitionRepository;
|
||||
|
||||
public GetWithdrawalRequestsQueryHandler(IApplicationDbContext context)
|
||||
public GetWithdrawalRequestsQueryHandler(
|
||||
IApplicationDbContext context,
|
||||
IWeekDefinitionRepository weekDefinitionRepository)
|
||||
{
|
||||
_context = context;
|
||||
_weekDefinitionRepository = weekDefinitionRepository;
|
||||
}
|
||||
|
||||
public async Task<GetWithdrawalRequestsResponseDto> Handle(GetWithdrawalRequestsQuery request, CancellationToken cancellationToken)
|
||||
@@ -14,6 +18,7 @@ public class GetWithdrawalRequestsQueryHandler : IRequestHandler<GetWithdrawalRe
|
||||
var query = _context.UserCommissionPayouts
|
||||
.AsNoTracking()
|
||||
.Include(x => x.User)
|
||||
.Include(x => x.WeekDefinition)
|
||||
.Where(x => x.WithdrawalMethod != null) // Only requests with withdrawal method
|
||||
.AsQueryable();
|
||||
|
||||
@@ -28,9 +33,9 @@ public class GetWithdrawalRequestsQueryHandler : IRequestHandler<GetWithdrawalRe
|
||||
query = query.Where(x => x.UserId == request.UserId.Value);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(request.WeekNumber))
|
||||
if (request.WeekDefinitionId!= null && request.WeekDefinitionId >0)
|
||||
{
|
||||
query = query.Where(x => x.WeekNumber == request.WeekNumber);
|
||||
query = query.Where(x => x.WeekDefinitionId == request.WeekDefinitionId);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(request.IbanNumber))
|
||||
@@ -51,7 +56,8 @@ public class GetWithdrawalRequestsQueryHandler : IRequestHandler<GetWithdrawalRe
|
||||
Id = x.Id,
|
||||
UserId = x.UserId,
|
||||
UserName = x.User != null ? (x.User.FirstName + " " + x.User.LastName).Trim() : x.User?.Mobile ?? "N/A",
|
||||
WeekNumber = x.WeekNumber,
|
||||
WeekDefinitionId = x.WeekDefinitionId,
|
||||
WeekDisplayName =x.WeekDefinition.DisplayName,
|
||||
Amount = x.TotalAmount,
|
||||
Status = (int)x.Status,
|
||||
WithdrawalMethod = x.WithdrawalMethod.HasValue ? (int)x.WithdrawalMethod.Value : 0,
|
||||
|
||||
+2
-1
@@ -11,7 +11,8 @@ public class WithdrawalRequestModel
|
||||
public long Id { get; set; }
|
||||
public long UserId { get; set; }
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
public string WeekNumber { get; set; } = string.Empty;
|
||||
public long WeekDefinitionId { get; set; }
|
||||
public string WeekDisplayName { get; set; } = string.Empty;
|
||||
public long Amount { get; set; }
|
||||
public int Status { get; set; } // CommissionPayoutStatus enum
|
||||
public int? WithdrawalMethod { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user