public async Task <Response> CadastrarAsync(EnderecoDto dto) { try { var cliente = await _clienteRepository.ObterAsync(Cpf.DesformatarNumero(dto.Cpf)); if (cliente == null) { return(CriarResposta(UNPROCESSABLE_ENTITY, false, "Cliente inexistente.")); } if (await _enderecoRepository.ObterAsync(cliente.Id) != null) { return(CriarResposta(UNPROCESSABLE_ENTITY, false, "Já existe um endereço para esse cliente.")); } var endereco = EnderecoMapper.MapearDtoParaModelo(cliente.Id, dto); if (!endereco.EValido()) { return(CriarResposta(UNPROCESSABLE_ENTITY, false, cliente.GetMensagemValidacao())); } await _enderecoRepository.CadastrarAsync(endereco); return(CriarResposta(OK, true, "Endereço cadastrado.")); } catch (System.Exception) { return(CriarResposta(INTERNAL_SERVER_ERROR, false, "Ocorreu um erro ao tentar cadastrar o endereço. Favor aguardar uns minutos e tentar novamente.")); } }
public async Task <Response> AtualizarAsync(long idCliente, EnderecoDto dto) { try { if (await _enderecoRepository.ObterAsync(idCliente) == null) { return(CriarResposta(UNPROCESSABLE_ENTITY, false, "Não existe um endereço para esse cliente.")); } var endereco = EnderecoMapper.MapearDtoParaModelo(idCliente, dto); if (!endereco.EValido()) { return(CriarResposta(UNPROCESSABLE_ENTITY, false, endereco.GetMensagemValidacao())); } await _enderecoRepository.AtualizarAsync(endereco); return(CriarResposta(OK, true, "Endereço atualizado.")); } catch (System.Exception) { return(CriarResposta(INTERNAL_SERVER_ERROR, false, "Ocorreu um erro ao tentar atualizar o endereço. Favor aguardar uns minutos e tentar novamente.")); } }
public async Task <EnderecoModel> GetByZipCode(string zipCode) { EnderecoModel enderecoModel = null; try { EnderecoDomain enderecoDoamin = await _enderecoService.GetByZipCode(zipCode); return(EnderecoMapper.DomainToModelView(enderecoDoamin)); } catch (Exception ex) { Log.Error(ex, "GetByZipCode"); } return(enderecoModel); }