using CMSMicroservice.Protobuf.Protos.ClubMembership; namespace BackOffice.BFF.Application.ClubMembershipCQ.Commands.ActivateClub; public class ActivateClubCommandHandler : IRequestHandler { private readonly IApplicationContractContext _context; public ActivateClubCommandHandler(IApplicationContractContext context) { _context = context; } public async Task 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" }; } }