Beispiel #1
0
        private IActionResult processarPut(MotoristaCadastroPutRequest viewModel)
        {
            try
            {
                var motoristaDb = _motoristaService.Obter(viewModel.MotoristaId);
                if (motoristaDb == null || !motoristaDb.Ativo)
                {
                    return(NotFound());
                }

                var carro = viewModel.ToCarroModel(motoristaDb.CarroId);
                _carroService.Update(carro);

                var endereco = viewModel.ToEnderecoModel(motoristaDb.EnderecoId);
                _enderecoService.Update(endereco);

                var motorista = viewModel.ToMotoristaModel();

                _motoristaService.Update(motorista);

                return(Ok("success"));
            }
            catch (MotoristaNaoEncontradoException)
            {
                return(NotFound("Motorista não encontrado"));
            }
            catch (CarroNaoEncontradoException)
            {
                return(NotFound("Carro não encontrado"));
            }
            catch (EnderecoNaoEncontradoException)
            {
                return(NotFound("Endereco não encontrado"));
            }
        }
        public async void Put_DadosInvalidos_NaoDeveAtualizar()
        {
            var modelRequest = new MotoristaCadastroPutRequest();

            var request = new HttpRequestMessage(HttpMethod.Put, "api/cadastroMotorista");

            request.Content = new JsonContent(modelRequest);

            var response = await _client.SendAsync(request);

            Assert.Equal((HttpStatusCode)422, response.StatusCode);
        }
Beispiel #3
0
        public IActionResult Put([FromBody] MotoristaCadastroPutRequest request)
        {
            if (request == null)
            {
                return(BadRequest("Motorista não encontrado"));
            }

            var validationResult = _putValidator.Validate(request);

            if (validationResult.IsValid)
            {
                return(processarPut(request));
            }
            else
            {
                var erroValidacao = new ErroValidacaoResponse(validationResult);
                return(StatusCode(422, erroValidacao));
            }
        }