Files
BackOffice.BFF/src/BackOffice.BFF.Application/ClubMembershipCQ/Commands/ActivateClub/ActivateClubCommandHandler.cs

39 lines
1.2 KiB
C#
Raw Normal View History

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"
};
}
}