public async Task <ValidationResponse> Handle(UpdateOrganisationStandardVersionValidationRequest request, CancellationToken cancellationToken) { var result = await _validator.ValidatorUpdateOrganisationStandardVersionRequest(new UpdateOrganisationStandardVersionRequest { OrganisationStandardId = request.OrganisationStandardId, OrganisationStandardVersion = request.OrganisationStandardVersion, EffectiveFrom = request.EffectiveFrom, EffectiveTo = request.EffectiveTo }); return(result); }
public async Task <OrganisationStandardVersion> Handle(UpdateOrganisationStandardVersionRequest request, CancellationToken cancellationToken) { var validationResponse = await _validator.ValidatorUpdateOrganisationStandardVersionRequest(request); if (!validationResponse.IsValid) { var message = validationResponse.Errors.Aggregate(string.Empty, (current, error) => current + error.ErrorMessage + "; "); if (validationResponse.Errors.Any(x => x.StatusCode == ValidationStatusCode.BadRequest.ToString())) { throw new BadRequestException(message); } throw new Exception(); } try { _unitOfWork.Begin(); var orgStandardVersion = await _repository.GetOrganisationStandardVersionByOrganisationStandardIdAndVersion(request.OrganisationStandardId, request.OrganisationStandardVersion); orgStandardVersion.EffectiveFrom = request.EffectiveFrom; orgStandardVersion.EffectiveTo = request.EffectiveTo; await _repository.UpdateOrganisationStandardVersion(orgStandardVersion); _unitOfWork.Commit(); return((OrganisationStandardVersion)orgStandardVersion); } catch (Exception) { _unitOfWork.Rollback(); throw; } }