/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="clienteModel"></param> /// <returns></returns> public async Task <Retorno <ClienteRetornoModel> > Alterar(Guid id, ClienteModel clienteModel) { var cliente = _mapper.Map <ClienteModel, Cliente>(clienteModel); cliente.AlterarId(id); if (!cliente.Valid) { return(Retorno <ClienteRetornoModel> .Error(cliente.Notifications)); } var clienteData = await _clienteRepository.ObterPorId(id); if (clienteData != null) { var clienteAlterar = _mapper.Map <Cliente, ClienteData>(cliente); if (await _clienteRepository.Alterar(clienteAlterar)) { return(Retorno <ClienteRetornoModel> .Ok()); } return(Retorno <ClienteRetornoModel> .Error(new Notification("Erro", "Falha ao alterar o cliente"))); } else { return(Retorno <ClienteRetornoModel> .Error(new Notification("Erro", "Cliente não encontrado"))); } }
/// <summary> /// /// </summary> /// <param name="clienteModel"></param> /// <returns></returns> public async Task <Retorno <ClienteRetornoModel> > Incluir(ClienteModel clienteModel) { var cliente = _mapper.Map <ClienteModel, Cliente>(clienteModel); if (!cliente.Valid) { return(Retorno <ClienteRetornoModel> .Error(cliente.Notifications)); } var clienteIncluir = _mapper.Map <Cliente, ClienteData>(cliente); return(Retorno <ClienteRetornoModel> .Ok(_mapper.Map <ClienteData, ClienteRetornoModel>((ClienteData)(await _clienteRepository.Incluir(clienteIncluir))))); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <Retorno> Excluir(Guid id) { var clienteData = await _clienteRepository.ObterPorId(id); if (clienteData != null) { if (await _clienteRepository.Excluir(clienteData)) { return(Retorno.Ok()); } return(Retorno.Error(new Notification("Erro", "Falha ao excluir o cliente"))); } else { return(Retorno.Error(new Notification("Erro", "Cliente não encontrado"))); } }