Beispiel #1
0
        //CONSULTAR POR ID
        public PedidoItemColecao ConsultarID(int idPedido)
        {
            try
            {
                PedidoItemColecao pedidoItemColecao = new PedidoItemColecao();

                acessoDados.LimparParamentros();
                acessoDados.AdicionarParametros("@IDPedido", idPedido);
                DataTable dataTable = acessoDados.ExecutarConsulta(CommandType.StoredProcedure, "SP_PedidoItem_Consultar");

                foreach (DataRow dataRow in dataTable.Rows)
                {
                    PedidoItem pedidoItem = new PedidoItem();
                    pedidoItem.Pedido  = new Pedido();
                    pedidoItem.Produto = new Produto();

                    pedidoItem.Pedido.IDPedido    = Convert.ToInt32(dataRow["IDPedido"]);
                    pedidoItem.Produto.IDProduto  = Convert.ToInt32(dataRow["IDProduto"]);
                    pedidoItem.Produto.Descricao  = Convert.ToString(dataRow["DescricaoProduto"]);
                    pedidoItem.Quantidade         = Convert.ToInt32(dataRow["Quantidade"]);
                    pedidoItem.ValorUnitario      = Convert.ToDecimal(dataRow["ValorUnitario"]);
                    pedidoItem.PercentualDesconto = Convert.ToDecimal(dataRow["PercentualDesconto"]);
                    pedidoItem.ValorDesconto      = Convert.ToDecimal(dataRow["ValorDesconto"]);
                    pedidoItem.ValorTotal         = Convert.ToDecimal(dataRow["ValorTotal"]);

                    pedidoItemColecao.Add(pedidoItem);
                }

                return(pedidoItemColecao);
            }
            catch (Exception exception)
            {
                throw new Exception("ERRO AO CONSULTAR ITEM DO PEDIDO. DETALHES: " + exception.Message);
            }
        }
        public PedidoItemColecao Consultar(int iDPedido)
        {
            try
            {
                PedidoItemColecao pedidoItemColecao = new PedidoItemColecao();
                acessoDados.LimparParametros();
                acessoDados.AdicionarParametros("@IDPedido", iDPedido);


                DataTable dataTable = acessoDados.ExecutarConsulta(CommandType.StoredProcedure, "uspPedidoItemConsultar");

                foreach (DataRow dataRow in dataTable.Rows)
                {
                    PedidoItem pedidoItem = new PedidoItem();

                    pedidoItem.Pedido          = new Pedido();
                    pedidoItem.Pedido.IDPedido = Convert.ToInt32(dataRow["IDPedido"]);

                    pedidoItem.Produto           = new Produto();
                    pedidoItem.Produto.IDProduto = Convert.ToInt32(dataRow["IDProduto"]);
                    pedidoItem.Produto.Descricao = Convert.ToString(dataRow["DescProduto"]);

                    pedidoItem.Quantidade         = Convert.ToInt32(dataRow["Quantidade"]);
                    pedidoItem.ValorUnitario      = Convert.ToDecimal(dataRow["Quantidade"]);
                    pedidoItem.PercentualDesconto = Convert.ToDecimal(dataRow["Quantidade"]);
                    pedidoItem.ValorDesconto      = Convert.ToDecimal(dataRow["ValorDesconto"]);
                    pedidoItem.ValorTotal         = Convert.ToDecimal(dataRow["ValorTotal"]);

                    pedidoItemColecao.Add(pedidoItem);
                }

                return(pedidoItemColecao);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao consultar item do pedido. Detalhe: " + ex.Message);
            }
        }
Beispiel #3
0
        //Consultar
        public PedidoItemColecao Consultar(int idPedido)
        {
            try
            {
                PedidoItemColecao pedidoItemColecao = new PedidoItemColecao();

                acessoDados.limparParametros();
                acessoDados.addParametros("@id_pedido", idPedido);

                DataTable dataTable = acessoDados.executarConsulta(CommandType.StoredProcedure, "ConsultarItensPedido");

                foreach (DataRow dataRow in dataTable.Rows)
                {
                    PedidoItem pedidoItem = new PedidoItem();

                    pedidoItem.Pedido             = new Pedido();
                    pedidoItem.Pedido.idPedido    = Convert.ToInt32(dataRow["Id"]);
                    pedidoItem.Item               = new Item();
                    pedidoItem.Item.idItem        = Convert.ToInt32(dataRow["CódigoItem"]);
                    pedidoItem.Item.Descricao     = Convert.ToString(dataRow["Descricao"]);
                    pedidoItem.Quantidade         = Convert.ToInt32(dataRow["quantidade_PI"]);
                    pedidoItem.valorUnitario      = Convert.ToDecimal(dataRow["valorUnitario_PI"]);
                    pedidoItem.percentualDesconto = Convert.ToDecimal(dataRow["percentuaDesconto_PI"]);
                    pedidoItem.valorDesconto      = Convert.ToDecimal(dataRow["valorDesconto_PI"]);
                    pedidoItem.valorTotal         = Convert.ToDecimal(dataRow["valorTotal_PI"]);

                    pedidoItemColecao.Add(pedidoItem);
                }

                return(pedidoItemColecao);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao consultar itens do pedido. Detalhes: " +
                                    ex.Message);
            }
        }
Beispiel #4
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (txtCliente.Text != "" && txtproduto.Text != "")
            {
                #region Verifica Se Existe o Produto No Estoque Antes de Inserir na Lista
                try
                {
                    EstoqueDisponivel estoqueDisponivel = new EstoqueDisponivel();
                    EstoqueNegocio    estoqueNegocio    = new EstoqueNegocio();

                    estoqueDisponivel = estoqueNegocio.ConsultarEstoqueDisponivel(produtoSelecionado.IDProduto, filialLogada.IDFilial);

                    if (estoqueDisponivel.QuantidadeDisponivel < Convert.ToInt32(txtQuantidade.Text))
                    {
                        MessageBox.Show
                            ("Não existe a quantidade solicitada em estoque do produto " + estoqueDisponivel.NomeProduto +
                            ". Quantidade disponível: " + estoqueDisponivel.QuantidadeDisponivel +
                            " . Quantidade reservada: " + estoqueDisponivel.QuantidadeReservada);
                        return;
                    }
                    else
                    {
                        EstoqueReservadoNegocio estoqueReservadoNegocio = new EstoqueReservadoNegocio();
                        EstoqueReservado        estoqueReservado        = new EstoqueReservado();

                        estoqueReservado.IDFilial   = filialLogada.IDFilial;
                        estoqueReservado.IDProduto  = produtoSelecionado.IDProduto;
                        estoqueReservado.Quantidade = Convert.ToInt32(txtQuantidade.Text);
                        string retorno = estoqueReservadoNegocio.Inserir(estoqueReservado);

                        int IDProduto;
                        if (!int.TryParse(retorno, out IDProduto))
                        {
                            MessageBox.Show("Erro ao inserir produto no estoque reservado");
                            return;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao consultar estoque disponível. Detalhes: " + ex.Message);
                    return;
                }

                #endregion


                #region Adicionar Produto Na Lista De Venda
                try
                {
                    if (pedido == null)
                    {
                        //Cria o pedido
                        pedido                      = new Pedido();
                        pedido.IDOperacao           = 1;
                        pedido.IDPessoaDestinatario = clienteSelecionado.IDCliente;
                        pedido.IDPessoaEmitente     = filialLogada.IDFilial;
                        pedido.IDSituacao           = 1;
                    }

                    //adiciono item no pedido
                    if (pedidoItens == null)
                    {
                        pedidoItens = new PedidoItemColecao();
                    }


                    if (pedidoItens.Exists(p => p.IDProduto == produtoSelecionado.IDProduto))
                    {
                        try
                        {
                            var pedidoItemExistente = pedidoItens.Single(p => p.IDProduto == produtoSelecionado.IDProduto);
                            pedidoItemExistente.Quantidade += Convert.ToInt32(txtQuantidade.Text);
                            pedidoItemExistente.ValorTotal += (produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text));
                            decimal valorDescontoItemExistente = ((produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100;
                            pedidoItemExistente.ValorDesconto += decimal.Round(valorDescontoItemExistente, 2);                                                      //45
                            decimal valorTotalItemComDesconto = (produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) - valorDescontoItemExistente; //22,5
                            pedidoItemExistente.ValorTotalComDesconto += decimal.Round(valorTotalItemComDesconto, 2);
                            pedidoItemExistente.PercentualDesconto     = decimal.Round((pedidoItemExistente.ValorDesconto * 100) / pedidoItemExistente.ValorTotal, 2);
                            pedidoItem = pedidoItemExistente;

                            //Adiciona valor total e total com desconto ao pedido
                            decimal valorTotalDoItemNovo = produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text);
                            pedido.ValorTotal += valorTotalDoItemNovo;
                            txtValorTotal.Text = pedido.ValorTotal.ToString();
                            decimal valorTotalDoitemNovoComDesconto = valorTotalDoItemNovo - valorDescontoItemExistente;
                            pedido.ValorTotalComDesconto += valorTotalDoitemNovoComDesconto;
                            txtValorFinal.Text            = pedido.ValorTotalComDesconto.ToString();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Erro ao inserir produto. Detalhes: " + ex.Message);
                        }
                    }
                    else
                    {
                        pedidoItem             = new PedidoItem();
                        pedidoItem.IDProduto   = produtoSelecionado.IDProduto;
                        pedidoItem.ProdutoNome = produtoSelecionado.Nome;
                        pedidoItem.Quantidade  = Convert.ToInt32(txtQuantidade.Text);
                        pedidoItem.ValorTotal  = produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text);
                        decimal valorDescontoItem = ((produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100;
                        pedidoItem.ValorDesconto         = decimal.Round(valorDescontoItem, 2);
                        pedidoItem.ValorUnitario         = produtoSelecionado.PrecoVenda;
                        pedidoItem.ValorTotalComDesconto = decimal.Round((produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) - valorDescontoItem, 2);
                        pedidoItem.PercentualDesconto    = decimal.Round((pedidoItem.ValorDesconto * 100) / pedidoItem.ValorTotal, 2);

                        //Adiciona valor total e total com desconto ao pedido
                        pedido.ValorTotal            += pedidoItem.ValorTotal;
                        txtValorTotal.Text            = pedido.ValorTotal.ToString();
                        pedido.ValorTotalComDesconto += pedidoItem.ValorTotalComDesconto;
                        txtValorFinal.Text            = pedido.ValorTotalComDesconto.ToString();

                        pedidoItens.Add(pedidoItem);
                    }



                    dbgListaProdutos.DataSource         = null;
                    dbgListaProdutos.DataSource         = pedidoItens;
                    dbgListaProdutos.Columns[0].Visible = false;
                    dbgListaProdutos.Columns[1].Visible = false;
                    dbgListaProdutos.Update();
                    dbgListaProdutos.Refresh();
                    txtproduto.Clear();
                    txtDescontoItem.Text = "0";
                    //txtQuantidade.Text = "1";
                    btnProcurarProduto.Focus();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao inserir produto no pedido. Detalhes: " + ex.Message);
                }
            }
            #endregion

            else
            {
                MessageBox.Show("É necesssário adicionar um cliente e selecionar um produto para inserir na venda.");
            }
        }