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