예제 #1
0
        public IActionResult Put(Guid usuarioId, Guid enderecoId, [FromBody] UpdateUsuarioEnderecoModel enderecoModel)
        {
            if (enderecoModel == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            if (!_repository.UsuarioExists(usuarioId))
            {
                return(NotFound());
            }

            var enderecoEntity = _repository.RetornarEndereco(usuarioId, enderecoId);

            if (enderecoEntity == null)
            {
                return(NotFound());
            }

            _mapper.Map(enderecoModel, enderecoEntity);

            _repository.AtualizaUsuarioEndereco(enderecoEntity);

            if (!_repository.Save())
            {
                throw new Exception("Ocorreu um erro inesperado ao atualizar endereço do usuário");
            }

            return(NoContent());
        }