public async Task <Cliente> BuscarClientePorId(Guid clienteId)
        {
            var cliente = await _clienteRepositorio.GetById(clienteId);

            if (cliente is null)
            {
                return(new Cliente());
            }

            return(cliente);
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
 public async Task <IActionResult> GetById(int id)
 {
     return(Ok(await _cli.GetById(id)));
 }