Esempio n. 1
0
        public async Task Update_AtualizarEnderecoTest()
        {
            #region Arrange

            var resource = $"api/Endereco";

            var command = new UpdateEnderecoCommand
            {
                Id         = 1,
                Logradouro = "Estrada de Itaipuaçu 255",
                Bairro     = "Itaipuaçu - Itaocaia",
                Cidade     = "Rio do Ouro",
                Estado     = "PR"
            };

            #endregion

            #region Act

            var request = new StringContent(JsonConvert.SerializeObject(command),
                                            Encoding.UTF8, "application/json");

            var response = await httpClient.PutAsync(resource, request);

            #endregion

            #region Assert

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            #endregion
        }
Esempio n. 2
0
        public IActionResult Put(UpdateEnderecoCommand command)
        {
            try
            {
                enderecoApplicationService.Update(command);

                return(Ok(new { Message = "Endereço atualizado com sucesso" }));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));;
            }
        }
Esempio n. 3
0
        public void Update(UpdateEnderecoCommand command)
        {
            var endereco = enderecoRepository.GetById(command.Id);

            if (endereco == null)
            {
                throw new Exception("Endereço não encontrado.");
            }

            endereco.Logradouro = command.Logradouro;
            endereco.Bairro     = command.Bairro;
            endereco.Cidade     = command.Cidade;
            endereco.Estado     = command.Estado;

            var validation = new EnderecoValidation().Validate(endereco);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors.ToString());
            }

            enderecoRepository.Update(endereco);
        }