Add response DTOs for withdrawal and club activation commands

This commit is contained in:
masoodafar-web
2025-11-30 23:39:31 +03:30
parent 698c044be6
commit bfeb6456af
56 changed files with 3043 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
using CMSMicroservice.Protobuf.Protos.ClubMembership;
namespace BackOffice.BFF.Application.ClubMembershipCQ.Commands.ActivateClub;
public class ActivateClubCommandHandler : IRequestHandler<ActivateClubCommand, ActivateClubResponseDto>
{
private readonly IApplicationContractContext _context;
public ActivateClubCommandHandler(IApplicationContractContext context)
{
_context = context;
}
public async Task<ActivateClubResponseDto> Handle(ActivateClubCommand request, CancellationToken cancellationToken)
{
var grpcRequest = new ActivateClubMembershipRequest
{
UserId = request.UserId,
PackageId = request.PackageId,
DurationMonths = request.DurationMonths
};
// اگر کد فعال‌سازی ارسال شده، اضافه کن
if (!string.IsNullOrEmpty(request.ActivationCode))
{
grpcRequest.ActivationCode = request.ActivationCode;
}
var response = await _context.ClubMemberships.ActivateClubMembershipAsync(
grpcRequest,
cancellationToken: cancellationToken);
return new ActivateClubResponseDto
{
Message = "Club membership activated successfully"
};
}
}