public void Arrange()
        {
            _mockValidator = new Mock <IEpaOrganisationValidator>();
            _mockOrganisationStandardRepository = new Mock <IOrganisationStandardRepository>();
            _mockUnitOfWork = new Mock <IUnitOfWork>();

            var fixture = new Fixture();

            _request = fixture.Build <UpdateOrganisationStandardVersionRequest>().Create();

            _handler = new UpdateOrganisationStandardVersionHandler(_mockValidator.Object, _mockOrganisationStandardRepository.Object, _mockUnitOfWork.Object);
        }
Esempio n. 2
0
        public async Task <IActionResult> UpdateOrganisationStandardVersion(
            [FromBody] UpdateOrganisationStandardVersionRequest request)
        {
            try
            {
                _logger.LogInformation("Recieved Update Organisation Standard Version Request");

                var updatedVersion = await _mediator.Send(request);

                return(Ok(new EpaoStandardVersionResponse(updatedVersion.Version)));
            }
            catch (Exception ex)
            {
                return(BadRequest(new EpaoStandardVersionResponse(ex.Message)));
            }
        }
        public async Task <ValidationResponse> ValidatorUpdateOrganisationStandardVersionRequest(UpdateOrganisationStandardVersionRequest request)
        {
            var validationResult = new ValidationResponse();

            var organisationStandard = await _registerQueryRepository.GetOrganisationStandardFromOrganisationStandardId(request.OrganisationStandardId);

            if (organisationStandard is null)
            {
                var standardErrorMessage = FormatErrorMessage(EpaOrganisationValidatorMessageName.StandardNotFound);
                RunValidationCheckAndAppendAnyError("StandardCode", standardErrorMessage, validationResult, ValidationStatusCode.NotFound);
                return(validationResult);
            }

            RunValidationCheckAndAppendAnyError("EffectiveFrom", CheckOrganisationStandardFromDateIsWithinStandardDateRanges(request.EffectiveFrom, organisationStandard.StandardEffectiveFrom, organisationStandard.StandardEffectiveTo, organisationStandard.StandardLastDateForNewStarts), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveTo", CheckOrganisationStandardVersionToDateIsWithinStandardDateRanges(request.EffectiveTo, organisationStandard.StandardEffectiveFrom, organisationStandard.StandardEffectiveTo), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveFrom", CheckVersionEffectiveFromIsOnOrBeforeEffectiveTo(request.EffectiveFrom, request.EffectiveTo), validationResult, ValidationStatusCode.BadRequest);
            RunValidationCheckAndAppendAnyError("EffectiveTo", CheckVersionEffectiveToIsOnOrAfterEffectiveFrom(request.EffectiveTo, request.EffectiveFrom), validationResult, ValidationStatusCode.BadRequest);
            return(validationResult);
        }