using CMSMicroservice.Protobuf.Protos.AppVersion; namespace BackOffice.BFF.Application.ConfigurationCQ.Commands.UpdateAppVersion; public class UpdateAppVersionCommandHandler : IRequestHandler { private readonly IApplicationContractContext _context; public UpdateAppVersionCommandHandler(IApplicationContractContext context) { _context = context; } public async Task Handle(UpdateAppVersionCommand request, CancellationToken cancellationToken) { var cmsRequest = new UpdateAppVersionRequest { AppName = request.AppName, CurrentVersion = request.CurrentVersion, RequiresFullCacheClear = request.RequiresFullCacheClear }; if (!string.IsNullOrEmpty(request.MinRequiredVersion)) cmsRequest.MinRequiredVersion = request.MinRequiredVersion; if (!string.IsNullOrEmpty(request.UpdateMessage)) cmsRequest.UpdateMessage = request.UpdateMessage; if (!string.IsNullOrEmpty(request.ReleaseNotes)) cmsRequest.ReleaseNotes = request.ReleaseNotes; if (!string.IsNullOrEmpty(request.UpdateReason)) cmsRequest.UpdateReason = request.UpdateReason; await _context.AppVersions.UpdateAppVersionAsync(cmsRequest, cancellationToken: cancellationToken); return Unit.Value; } }