Esempio n. 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);
            }
        }
Esempio n. 2
0
 public static bool Inserir(VendaCancel pVendCancel)
 {
     try
     {
         ProjetoDataClassesDataContext banco = new ProjetoDataClassesDataContext();
         banco.VendaCancel.InsertOnSubmit(pVendCancel);
         banco.SubmitChanges();
         banco.Dispose();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }