예제 #1
0
 //Construtor
 //--------------------------------------------------------------
 public FormGridItensVenda()
 {
     InitializeComponent();
     bd   = new BancoDados();
     item = new ItemVenda();
 }
예제 #2
0
        private void btnFinalizarVenda_Click(object sender, EventArgs e)
        {
            DialogResult res = MessageBox.Show("Confirma a finalização da venda?", "Finalizar Venda", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (res == DialogResult.Yes)
            {
                Caixa caixa = new Caixa();
                caixa.ConsultaNumeroDeCaixasEmAberto();
                if (caixa.NumCaixasAbertos > 0)
                {
                    caixa.ConsultaCaixaAberto();
                    if (caixa.Data.Date == DateTime.Now.Date)
                    {
                        Venda venda = new Venda();
                        venda.RetornaIdVenda();
                        txtNumVenda.Text = Convert.ToString(venda.IdVenda);
                        venda.DataVenda  = dtVenda.Value;
                        venda.Estado     = "FINALIZADA";
                        if (chkClienteCadastrado.Checked)
                        {
                            venda.IdCliente = Convert.ToInt32(txtCodigoCliente.Text);
                        }
                        venda.Observacao = "VENDA A VISTA N. " + txtNumVenda.Text + ", PAGAMENTO REALIZADO EM: " + cbxFormaPgto.Text;
                        venda.TotalVenda = Convert.ToDecimal(lblTotalVenda.Text);
                        venda.Vendedor   = lblVendedor.Text;
                        if (chkClienteCadastrado.Checked)
                        {
                            venda.InserirVendaAV(true);
                        }
                        else
                        {
                            venda.InserirVendaAV(false);
                        }

                        //Inseri os itens na tabela venda_item
                        //-----------------------------------------------------
                        ItemVenda item = new ItemVenda();
                        item.IdVenda = Convert.ToInt32(txtNumVenda.Text);
                        for (int i = 0; i < dataGridView1.RowCount; i++)
                        {
                            item.IdItem    = Convert.ToInt32(dataGridView1.Rows[i].Cells["iditem"].Value);
                            item.Desconto  = Convert.ToDecimal(dataGridView1.Rows[i].Cells["desconto"].Value);
                            item.Estado    = Convert.ToString(dataGridView1.Rows[i].Cells["estado"].Value);
                            item.IdProduto = Convert.ToInt32(dataGridView1.Rows[i].Cells["idproduto"].Value);
                            item.Preco     = Convert.ToDecimal(dataGridView1.Rows[i].Cells["preco"].Value);
                            item.Qtde      = Convert.ToInt32(dataGridView1.Rows[i].Cells["qtde"].Value);
                            item.Total     = Convert.ToDecimal(dataGridView1.Rows[i].Cells["total"].Value);
                            item.InserirItem();
                        }

                        Produtos prod = new Produtos();
                        prod.Usuario = lblVendedor.Text;
                        try
                        {
                            for (int i = 0; i < dataGridView1.RowCount; i++)
                            {
                                if (dataGridView1.Rows[i].Cells["estado"].Value.ToString() == "OK")
                                {
                                    prod.Id = Convert.ToInt32(dataGridView1.Rows[i].Cells["idproduto"].Value);                                                            //column 01
                                    prod.AtualizarEstoque("VENDA A VISTA N." + txtNumVenda.Text, "NEGATIVO", Convert.ToInt32(dataGridView1.Rows[i].Cells["qtde"].Value)); //column 03
                                }
                            }
                            prod.Call_SP_EstadoProduto();
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                        try
                        {
                            Parcela parcela = new Parcela();
                            parcela.IdVenda        = Convert.ToInt32(txtNumVenda.Text);
                            parcela.Prazo          = 0;
                            parcela.Estado         = "PAGA";
                            parcela.Obs            = "";
                            parcela.IdParcela      = 1;
                            parcela.DataVencimento = dtVenda.Value;
                            parcela.ValorParcela   = Convert.ToDecimal(lblTotalVenda.Text);
                            if (chkClienteCadastrado.Checked)
                            {
                                parcela.IdCliente = Convert.ToInt32(txtCodigoCliente.Text);
                                parcela.InserirParcelaAV(true);
                            }
                            else
                            {
                                parcela.InserirParcelaAV(false);
                            }
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                        try
                        {
                            Pagamento pag = new Pagamento();
                            pag.DataPagto      = DateTime.Now;
                            pag.IdFinalizadora = Convert.ToInt32(cbxFormaPgto.SelectedValue);
                            pag.IdParcela      = 1;
                            pag.IdVenda        = venda.IdVenda;
                            pag.Usuario        = usuarioAtual;
                            pag.ValorPago      = venda.TotalVenda;
                            pag.Obs            = "VENDA A VISTA";
                            if (chkClienteCadastrado.Checked)
                            {
                                pag.IdCliente = Convert.ToInt32(txtCodigoCliente.Text);
                                pag.InserirPagamentoAV(true);
                                caixa.Obs = "VENDA A VISTA N. " + txtNumVenda.Text + " - CLIENTE: " + lblNomeCliente.Text + "";
                            }
                            else
                            {
                                pag.InserirPagamentoAV(false);
                                caixa.Obs = "VENDA A VISTA N. " + txtNumVenda.Text;
                            }
                            caixa.ConsultaCaixaAberto();
                            caixa.RetornaIdEntrada();
                            caixa.Data    = DateTime.Now;
                            caixa.Valor   = Convert.ToDecimal(txtValor.Text);
                            caixa.Usuario = usuarioAtual;
                            caixa.InserirEntrada();
                        }
                        catch (Exception)
                        {
                            throw;
                        }

                        //Organiza Tela para uma nova venda...
                        //--------------------------------------------------
                        //Zera DataGrid...
                        dt = new DataTable();
                        dt.Columns.Add("iditem", typeof(int));
                        dt.Columns.Add("idvenda", typeof(int));
                        dt.Columns.Add("idproduto", typeof(int));
                        dt.Columns.Add("descricao", typeof(string));
                        dt.Columns.Add("preco", typeof(decimal));
                        dt.Columns.Add("qtde", typeof(int));
                        dt.Columns.Add("subtotal", typeof(decimal));
                        dt.Columns.Add("desconto", typeof(decimal));
                        dt.Columns.Add("total", typeof(decimal));
                        dt.Columns.Add("estado", typeof(string));
                        dataGridView1.DataSource = dt;
                        btnCancelarItem.Enabled  = false;

                        lblNomeCliente.Text = "";
                        txtCodigoCliente.Clear();
                        gpbCliente.Enabled           = false;
                        chkClienteCadastrado.Checked = false;
                        txtValor.Clear();
                        lblTroco.Text        = "";
                        lblTotalVenda.Text   = "0,00";
                        gpbFinalizar.Enabled = false;
                        gpbItem.Enabled      = true;

                        int idVendaAtual = Convert.ToInt32(txtNumVenda.Text);
                        //Gera novo ID de venda
                        //----------------------------------------------------
                        venda.RetornaIdVenda();
                        txtNumVenda.Text = Convert.ToString(venda.IdVenda);
                        this.CalcularTotalItens();
                        txtCodProduto.Focus();

                        //Imprime a Venda
                        //----------------------------------------------------
                        DialogResult res2 = MessageBox.Show("Deseja Emitir a Relação de Produtos da Venda?", "Venda Finalizada", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (res2 == DialogResult.Yes)
                        {
                            FormRelVenda rel = new FormRelVenda();
                            rel.MdiParent = this.ParentForm;
                            rel.idvenda   = idVendaAtual;
                            rel.Show();
                        }
                    }
                    else
                    {
                        // MessageBox.Show("Existem Caixas Abertos do dia: " + caixa.Data.Date.ToString() + "\nÉ necessário realizar o Fechamento de Caixa!", "Caixa", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        MessageBox.Show("Existem Caixas Abertos do dia: " + caixa.Data.Date.ToString("dd/MM/yyyy") + "\nÉ necessário realizar o Fechamento de Caixa!", "Caixa", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Não existem Caixa Abertos para o Recebimento da Conta!\nEfetue a Abertura de Caixa.", "Caixa não Aberto", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }