public async Task <Cliente> BuscarClientePorId(Guid clienteId) { var cliente = await _clienteRepositorio.GetById(clienteId); if (cliente is null) { return(new Cliente()); } return(cliente); }
public async Task <int> Incluir(PedidoViewModel pedidoView) { try { PedidoModel pedidox = new PedidoModel(); pedidox.ClienteId = pedidoView.ClienteId; foreach (var item in pedidoView.PedidoItem) { PedidoItemModel pedidoItem = new PedidoItemModel(); pedidoItem.ProdutoId = item.ProdutoId; pedidoItem.Quantidade = item.Quantidade; pedidoItem.Referencia = item.Referencia; pedidoItem.ValorUnitario = item.ValorUnitario; pedidox.PedidoItem.Add(pedidoItem); } if (!pedidox.PedidoValido()) { throw new Exception("Pedido não contempla quantidade necessária ou máximo permitido"); } if (pedidox.ClienteId.HasValue) { ClienteModel clienteExiste = await _clienteRepositorio.GetById(pedidox.ClienteId.Value); pedidox.ClienteId = clienteExiste.ClienteId; pedidox.EnderecoId = clienteExiste.EnderecoId; } else { pedidox.Endereco = new EnderecoModel(); pedidox.Endereco.Logradouro = pedidoView.Logradouro; pedidox.Endereco.Cep = pedidoView.Cep; pedidox.Endereco.Numero = pedidoView.Numero; pedidox.Endereco.Complemento = pedidoView.Complemento; pedidox.Endereco.Bairro = pedidoView.Bairro; pedidox.Endereco.Cidade = pedidoView.Cidade; pedidox.Endereco.Estado = pedidoView.Estado; } await _pedidoRepositorio.Add(pedidox); return(pedidox.PedidoId); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> GetById(int id) { return(Ok(await _cli.GetById(id))); }