Beispiel #1
0
        private void btnNovaVenda_Click(object sender, EventArgs e)
        {
            try
            {
                grbDadosVenda.Enabled        = true;
                grbListaProdutos.Enabled     = true;
                btnSelecionarCliente.Enabled = true;
                btnProcurarProduto.Enabled   = true;
                txtQuantidade.Enabled        = true;
                btnMais.Enabled         = true;
                btnMenos.Enabled        = true;
                btnOk.Enabled           = true;
                txtDescontoItem.Enabled = true;
                btnNovaVenda.Enabled    = false;
                txtDescontoItem.Text    = "0";
                txtValorTotal.Text      = "0";
                txtValorFinal.Text      = "0";
                txtDesconto.Text        = "0";

                //inicializa objetos
                pedido      = null;
                pedidoItens = null;
                pedidoItem  = null;

                try
                {
                    fornecedorSelecionado = ControleFormulario.abreFrmConsultaFornecedorCompra(AcaoTelaConsultaCadastros.FornecedorConsultaCompra, filialLogada);
                    txtCliente.Text       = fornecedorSelecionado.Nome;
                    txtDescontoItem.Focus();
                }
                catch
                {
                    MessageBox.Show("Não foi possível procurar um fornecedor.");
                }

                try
                {
                    produtoSelecionado = ControleFormulario.abreFrmConsultaProdutoVenda(AcaoTelaConsultaCadastros.ProdutoConsultaVenda, filialLogada);
                    txtproduto.Text    = produtoSelecionado.Nome;
                    txtQuantidade.Focus();
                }
                catch
                {
                    MessageBox.Show("Não foi possível procurar um produto.");
                }
            }
            catch
            {
                MessageBox.Show("Erro ao abrir uma nova venda. Entre em contato com o suporte.");
            }
        }
Beispiel #2
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (txtCliente.Text != "" && txtproduto.Text != "" && txtValorUnitario.Text != "" && txtValorUnitario.Text != "R$ 0,00")
            {
                #region Adicionar Produto Na Lista De Venda
                try
                {
                    if (pedido == null)
                    {
                        //Cria o pedido
                        pedido                      = new PedidoCompra();
                        pedido.IDOperacao           = 2;
                        pedido.IDPessoaDestinatario = fornecedorSelecionado.IDCliente;
                        pedido.IDPessoaEmitente     = filialLogada.IDFilial;
                        pedido.IDSituacao           = 1;
                    }

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


                    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 += (Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text));
                            decimal valorDescontoItemExistente = ((Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100;
                            pedidoItemExistente.ValorDesconto += decimal.Round(valorDescontoItemExistente, 2);                                                                                   //45
                            decimal valorTotalItemComDesconto = (Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * 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 = Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * 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 PedidoCompraItem();
                        pedidoItem.IDProduto   = produtoSelecionado.IDProduto;
                        pedidoItem.ProdutoNome = produtoSelecionado.Nome;
                        pedidoItem.Quantidade  = Convert.ToInt32(txtQuantidade.Text);
                        pedidoItem.ValorTotal  = Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text);
                        decimal valorDescontoItem = ((Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100;
                        pedidoItem.ValorDesconto         = decimal.Round(valorDescontoItem, 2);
                        pedidoItem.ValorUnitario         = Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", ""));
                        pedidoItem.ValorTotalComDesconto = decimal.Round((Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * 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";
                    txtValorUnitario.Text = "0,00";
                    //txtQuantidade.Text = "1"; Alterado no produto text changed
                    btnProcurarProduto.Focus();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao inserir produto no pedido. Detalhes: " + ex.Message);
                }
                #endregion
            }

            else
            {
                MessageBox.Show("É necesssário adicionar um fornecedor e selecionar um produto e o valor unitário para inserir na compra.");
            }
        }