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); } }
private void btn_salvar_Click(object sender, EventArgs e) { DialogResult confirm = MessageBox.Show("Deseja confirmar a entrada da lista de produtos ?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); if (confirm.ToString().ToUpper() == "YES") { if (valida()) { List <Entrada> prodsEntrada = new List <Entrada>(); List <Estoque> estoques = new List <Estoque>(); DataGridViewRow linha = null; for (int j = 0; j < dataGridViewProdEst.RowCount; j++) { linha = dataGridViewProdEst.Rows[j]; Entrada entrada = new Entrada(); if (!DBNull.Value.Equals(linha.Cells["Id"].Value)) { entrada.id_produto = Convert.ToInt32(linha.Cells["Id"].Value); } if (!DBNull.Value.Equals(linha.Cells["Quantidade"].Value)) { entrada.qtde = Convert.ToInt32(linha.Cells["Quantidade"].Value); } else { entrada.qtde = 0; } if (!DBNull.Value.Equals(linha.Cells["Preço de Custo"].Value)) { entrada.valor_compra = Convert.ToDecimal(linha.Cells["Preço de Custo"].Value); } else { entrada.valor_compra = 0; } if (!DBNull.Value.Equals(linha.Cells["\"C\" ou \"S\""].Value)) { entrada.C_ou_S = Convert.ToChar(Convert.ToString(linha.Cells["\"C\" ou \"S\""].Value).ToUpper()); } entrada.ativo = true; entrada.data = DateTime.Now.Date; prodsEntrada.Add(entrada); Estoque estoque = new Estoque(); estoque.id_produto = entrada.id_produto; estoque.qtde_C = 0; estoque.qtde_S = 0; if (entrada.C_ou_S == 'S') { estoque.qtde_S = entrada.qtde; } if (entrada.C_ou_S == 'C') { estoque.qtde_C = entrada.qtde; } estoques.Add(estoque); } //grava produtos listados na tabela entrada, com a respectiva quantidade e preco de custo bool a = EntradaDataAcess.Inserir(prodsEntrada); //adiciona a quantidade no estoque bool b = EstoqueDataAcess.GravaEstoque(estoques); if (a && b) { MessageBox.Show("Entrada de produtos realizada com sucesso ! ", "Concluído", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Erro ao cadastrar Produtos no estoque ! ", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Error); } table.Clear(); } } }