Exemple #1
0
        private void btn_cancelar_Click(object sender, EventArgs e)
        {
            if (Convert.ToBoolean(dataGridViewVend.CurrentRow.Cells["Venda Ativa ?"].Value))
            {
                DialogResult confirm = MessageBox.Show("Deseja confirmar o cancelamento da venda ?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
                if (confirm.ToString().ToUpper() == "YES")
                {
                    VendaCancel VendaCancel = new VendaCancel();
                    if (Application.OpenForms.OfType <MotivoCancel>().Count() == 0)
                    {
                        MotivoCancel motCancel = new MotivoCancel();
                        motCancel.ShowDialog();
                        VendaCancel.motivo   = motCancel.motivo;
                        VendaCancel.id_venda = Convert.ToInt32(dataGridViewVend.CurrentRow.Cells[0].Value);
                        VendaCancel.data     = DateTime.Now.Date;

                        // busca registro de intesvenda para somar no estoque
                        List <ItensVenda> itens       = ItensVendaDataAcess.BuscaItens(Convert.ToInt32(dataGridViewVend.CurrentRow.Cells[0].Value));
                        List <Estoque>    estoqueList = new List <Estoque>();
                        foreach (ItensVenda i in itens)
                        {
                            Estoque estoque = new Estoque();
                            estoque.id_produto = i.id_produto;
                            estoque.qtde_C     = 0;
                            estoque.qtde_S     = 0;
                            if (i.C_ou_S == 'C')
                            {
                                estoque.qtde_C = i.qtde;
                            }
                            if (i.C_ou_S == 'S')
                            {
                                estoque.qtde_S = i.qtde;
                            }
                            estoqueList.Add(estoque);
                        }
                        //grava na tabela Venda_Cancel
                        bool a = VendaCancelDataAcess.Inserir(VendaCancel);
                        //atualiza regristro na tabela Venda
                        bool b = VendaDataAcess.CancelaVenda(Convert.ToInt32(dataGridViewVend.CurrentRow.Cells[0].Value));
                        //soma no estoque
                        bool c = EstoqueDataAcess.GravaEstoque(estoqueList);

                        if (a && b && c)
                        {
                            MessageBox.Show("Cancelamento realizado com sucesso ! ", "Concluído", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            preencheGridVendas(VendaDataAcess.ConsultaVenda(dataInicial.Date, dataFinal.Date));
                        }
                        else
                        {
                            MessageBox.Show("Erro ao cancelar a Venda ! ", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Essa Venda já foi Cancelada ! ", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #2
0
        private void preencheGridItens(int IdVenda, bool status)
        {
            tableItens.Clear();
            List <ItensVenda> Itens = ItensVendaDataAcess.BuscaItens(IdVenda);

            for (int x = 0; x < Itens.Count; x++)
            {
                // DataRow é o objeto para linha no Datatable
                DataRow row;

                row                     = tableItens.NewRow(); // Adicionamos uma linha do DataTable
                row["Id"]               = Itens[x].id;
                row["Produto"]          = Itens[x].Produto.descricao;
                row["Valor Produto"]    = Itens[x].valor_venda;
                row["IdVenda"]          = Itens[x].id_venda;
                row["Quantidade Itens"] = Itens[x].qtde;
                row["Modelo do Veic."]  = ModeloDataAcess.buscaModeloPorProd(Itens[x].id_produto).nome;
                row["C ou S"]           = Itens[x].C_ou_S;
                tableItens.Rows.Add(row);             // No final adicionamos a linha no Datatable.
            }
            DataView view = new DataView(tableItens); // O View recebe o Datatable Preenchido

            dataGridViewItens.DataSource         = view;
            dataGridViewItens.Columns[0].Visible = false;
            dataGridViewItens.Columns[4].Visible = false;
            dataGridViewItens.Columns["Valor Produto"].DefaultCellStyle.Format = "N2";

            dataGridViewItens.Columns["Produto"].DefaultCellStyle.WrapMode         = DataGridViewTriState.True;
            dataGridViewItens.Columns["Modelo do Veic."].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
            dataGridViewItens.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

            dataGridViewItens.Columns["Produto"].Width         = 400;
            dataGridViewItens.Columns["Modelo do Veic."].Width = 140;

            dataGridViewItens.MultiSelect = false;
            if (status)
            {
                dataGridViewItens.DefaultCellStyle.BackColor = Color.White;
            }
            else
            {
                dataGridViewItens.DefaultCellStyle.BackColor = Color.Red;
            }
        }
        private void btn_finalizaVenda_Click(object sender, EventArgs e)
        {
            if (dataGridViewVend.RowCount == 0)
            {
                MessageBox.Show("Adicione pelo menos um produto para realizar a venda !", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (validaQtde())
            {
                Venda venda = new Venda();
                calculaTotal();
                venda.valortotal = total;
                venda.data       = DateTime.Now.Date;
                venda.ativo      = true;
                if (cliente.id != 0)
                {
                    venda.id_cliente = cliente.id;
                }

                //grava na tabela vendas
                int idVenda = VendaDataAcess.Inserir(venda);

                if (idVenda != 0)
                {
                    List <ItensVenda> itens   = new List <ItensVenda>();
                    List <Estoque>    estoque = new List <Estoque>();
                    foreach (DataGridViewRow row in this.dataGridViewVend.Rows)
                    {
                        ItensVenda item = new ItensVenda();
                        item.id_produto  = Convert.ToInt32(row.Cells["Id"].Value);
                        item.valor_venda = Convert.ToDecimal(row.Cells["Preço de Venda"].Value);
                        item.id_venda    = idVenda;
                        item.qtde        = Convert.ToInt32(row.Cells["Quantidade"].Value);
                        item.C_ou_S      = Convert.ToChar(Convert.ToString(row.Cells["\"C\" ou \"S\""].Value).ToUpper());
                        itens.Add(item);
                        Estoque est = new Estoque();
                        est.id_produto = Convert.ToInt32(row.Cells["Id"].Value);
                        est.qtde_C     = 0;
                        est.qtde_S     = 0;
                        if (item.C_ou_S == 'C')
                        {
                            est.qtde_C = item.qtde;
                        }
                        if (item.C_ou_S == 'S')
                        {
                            est.qtde_S = item.qtde;
                        }
                        estoque.Add(est);
                    }
                    //grava itens na tabela itens venda
                    bool a = ItensVendaDataAcess.Inserir(itens);
                    //atualiza a quantidade no estoque (diminui) o estoque.
                    bool b = EstoqueDataAcess.DiminuiEstoque(estoque);
                    if (a && b) //colocar o B
                    {
                        MessageBox.Show("Venda realizada com sucesso ! ", "Concluído", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        tbox_nroVenda.Text        = idVenda.ToString();
                        btn_finalizaVenda.Enabled = false;
                    }
                    else
                    {
                        MessageBox.Show("Problema ao realizar a Venda ! ", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }