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 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; } }