Exemplo n.º 1
0
        public IActionResult UpdateCaseStatus([FromBody] UpdateCaseStatusRequest request)
        {
            var validator         = new UpdateCaseStatusValidator();
            var validationResults = validator.Validate(request);

            if (!validationResults.IsValid)
            {
                return(BadRequest(validationResults.ToString()));
            }

            try
            {
                var caseStatus = _caseStatusesUseCase.ExecuteUpdate(request);
                return(Ok(caseStatus));
            }
            catch (Exception e) when(
                e is PersonNotFoundException ||
                e is WorkerNotFoundException ||
                e is CaseStatusDoesNotMatchPersonException ||
                e is InvalidCaseStatusUpdateRequestException
                )
            {
                return(BadRequest(e.Message));
            }
            catch (CaseStatusDoesNotExistException e)
            {
                return(NotFound(e.Message));
            }
        }
        public void UpdateCaseStatusRequestValidation(UpdateCaseStatusRequest request, bool validRequest, string?errorMessage)
        {
            var validator          = new UpdateCaseStatusValidator();
            var validationResponse = validator.Validate(request);

            if (validRequest)
            {
                validationResponse.IsValid.Should().BeTrue();
            }
            else
            {
                validationResponse.IsValid.Should().BeFalse();
                validationResponse.ToString().Should().Be(errorMessage);
            }
        }