private void preencheGrid(int tpConsulta) { List <ProdModelo> prods = new List <ProdModelo>(); table.Clear(); if (tpConsulta == 1) { prods = EstoqueDataAcess.ConsultaEstTotal(); } if (tpConsulta == 2) { prods = EstoqueDataAcess.ConsultaEstPorNome(tbox_NomeDesc.Text); } if (tpConsulta == 3) { prods = EstoqueDataAcess.ConsultaEstPorModel(Convert.ToInt32(cmb_modeloVeic.SelectedValue)); } if (tpConsulta == 4) { prods = EstoqueDataAcess.ConsultaEstPorTpProd(Convert.ToInt32(cmb_tpProd.SelectedValue)); } if (tpConsulta == 5) { prods = EstoqueDataAcess.ConsultaEstPorMarcaVeic(Convert.ToInt32(cmb_VeicMarca.SelectedValue)); } for (int x = 0; x < prods.Count; x++) { // DataRow é o objeto para linha no Datatable DataRow row; row = table.NewRow(); // Adicionamos uma linha do DataTable row["Id"] = prods[x].id; row["Código"] = prods[x].codigo; row["Produto"] = prods[x].descricao; row["Modelo Veículo"] = prods[x].NomeModelo; row["Quantidade C"] = prods[x].QtdeEstoqueC; row["Quantidade S"] = prods[x].QtdeEstoqueS; row["Quantidade Total"] = prods[x].QtdeEstoque;; if (prods[x].DataUltComp != null) { row["Última Entrada"] = prods[x].DataUltComp; } table.Rows.Add(row); // No final adicionamos a linha no Datatable. } DataView view = new DataView(table); // O View recebe o Datatable Preenchido dataGridViewEstoque.DataSource = view; dataGridViewEstoque.Columns["Id"].Visible = false; dataGridViewEstoque.MultiSelect = false; dataGridViewEstoque.Columns["Produto"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewEstoque.Columns["Modelo Veículo"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewEstoque.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dataGridViewEstoque.Columns["Produto"].Width = 270; dataGridViewEstoque.Columns["Modelo Veículo"].Width = 200; dataGridViewEstoque.Columns["Código"].Width = 60; dataGridViewEstoque.Columns["Quantidade Total"].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewEstoque.Columns["Quantidade C"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewEstoque.Columns["Quantidade S"].DefaultCellStyle.BackColor = Color.YellowGreen; }
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_cancelar_Click(object sender, EventArgs e) { if (Convert.ToBoolean(dataGridViewEnt.CurrentRow.Cells["Entrada Ativa ?"].Value)) { EntradaCancel EntCancel = new EntradaCancel(); if (Application.OpenForms.OfType <MotivoCancel>().Count() == 0) { MotivoCancel motCancel = new MotivoCancel(); motCancel.ShowDialog(); EntCancel.motivo = motCancel.motivo; EntCancel.id_entrada = Convert.ToInt32(dataGridViewEnt.CurrentRow.Cells[0].Value); EntCancel.data = DateTime.Now.Date; // busca registro de entrada para diminuir no estoque Entrada entrada = EntradaDataAcess.BuscaEntrada(Convert.ToInt32(dataGridViewEnt.CurrentRow.Cells[0].Value)); List <Estoque> estoque = new List <Estoque>(); Estoque est = new Estoque(); est.qtde_C = 0; est.qtde_S = 0; if (entrada.C_ou_S.Equals('S')) { est.qtde_S = entrada.qtde; } if (entrada.C_ou_S.Equals('C')) { est.qtde_C = entrada.qtde; } est.id_produto = entrada.id_produto; estoque.Add(est); //grava na tabela Entrada_Cancel bool a = EntradaCancelDataAcess.Inserir(EntCancel); //atualiza regristro na Entrada bool b = EntradaDataAcess.CancelaEntrada(Convert.ToInt32(dataGridViewEnt.CurrentRow.Cells[0].Value)); //diminui no estoque bool c = EstoqueDataAcess.DiminuiEstoque(estoque); if (a && b && c) { MessageBox.Show("Cancelamento realizado com sucesso ! ", "Concluído", MessageBoxButtons.OK, MessageBoxIcon.Information); preencheGrid(EntradaDataAcess.ConsultaEnt(dataInicial.Date, dataFinal.Date)); } else { MessageBox.Show("Erro ao cancelar a Entrada ! ", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("Essa Entrada já foi Cancelada ! ", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void preencheTabela(Produto prod) { bool controle = true; foreach (DataRow dr in table.Rows) { if ((int)dr[0] == prod.id) { controle = false; MessageBox.Show("Esse produto já foi Inserido na Lista !", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (!prod.id.Equals(null) && prod.id != 0 && controle) { // DataRow é o objeto para linha no Datatable DataRow row; row = table.NewRow(); // Adicionamos uma linha do DataTable row["Id"] = prod.id; row["Código"] = prod.codigo; row["Descrição"] = prod.descricao; row["Marca - Catálogo"] = prod.marca; //row["Espécie"] = prod.especie; row["Valor"] = prod.valor; row["Qtde Estoque"] = EstoqueDataAcess.ConsultaEstoque(prod.id).qtde; row["Estoque C"] = EstoqueDataAcess.ConsultaEstoque(prod.id).qtde_C; row["Estoque S"] = EstoqueDataAcess.ConsultaEstoque(prod.id).qtde_S; row["Quantidade"] = 0; row["Preço de Custo"] = 0; table.Rows.Add(row); // No final adicionamos a linha no Datatable. // Create a DataView using the DataTable. DataView view = new DataView(table); // O View recebe o Datatable Preenchido dataGridViewProdEst.DataSource = view; dataGridViewProdEst.Columns[0].Visible = false; dataGridViewProdEst.Columns["Valor"].Visible = false; dataGridViewProdEst.Columns["Preço de Custo"].DefaultCellStyle.Format = "N2"; dataGridViewProdEst.Columns["Quantidade"].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewProdEst.Columns["Preço de Custo"].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewProdEst.Columns["\"C\" ou \"S\""].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewProdEst.Columns["Qtde Estoque"].DefaultCellStyle.BackColor = Color.Green; dataGridViewProdEst.Columns["Preço de Custo"].DefaultCellStyle.Format = "N2"; dataGridViewProdEst.Columns["Quantidade"].DefaultCellStyle.Format = "N"; dataGridViewProdEst.MultiSelect = false; dataGridViewProdEst.Columns["Estoque C"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewProdEst.Columns["Estoque S"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewProdEst.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridViewProdEst.Columns["Descrição"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewProdEst.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dataGridViewProdEst.Columns["Descrição"].Width = 300; } }
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(); } } }
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); } } } }
// o parametro cod esta relacionado com tipo de busca, ou seja, por nome, codigo, marca/modelo // 1 - busca por codigo / 2 - busca por nome / 3 - busca por marca/modelo private void preencheGrid(int cod) { // Criando um Datatable DataTable table = new DataTable(); DataColumn colunaId = new DataColumn(); colunaId.DataType = System.Type.GetType("System.Int32"); colunaId.ColumnName = "Id"; table.Columns.Add(colunaId); DataColumn colunaCod = new DataColumn(); colunaCod.DataType = System.Type.GetType("System.String"); colunaCod.ColumnName = "Código"; table.Columns.Add(colunaCod); DataColumn colunaDesc = new DataColumn(); colunaDesc.DataType = System.Type.GetType("System.String"); colunaDesc.ColumnName = "Descrição"; table.Columns.Add(colunaDesc); DataColumn colunaMarca = new DataColumn(); colunaMarca.DataType = System.Type.GetType("System.String"); colunaMarca.ColumnName = "Marca - Catálogo"; table.Columns.Add(colunaMarca); DataColumn colunaValor = new DataColumn(); colunaValor.DataType = System.Type.GetType("System.Decimal"); colunaValor.ColumnName = "Valor"; table.Columns.Add(colunaValor); DataColumn colunaMod = new DataColumn(); colunaMod.DataType = System.Type.GetType("System.String"); colunaMod.ColumnName = "Modelo Veículo"; table.Columns.Add(colunaMod); DataColumn colunaEst = new DataColumn(); colunaEst.DataType = System.Type.GetType("System.Int32"); colunaEst.ColumnName = "Qtde Estoque"; table.Columns.Add(colunaEst); DataColumn colunaEstC = new DataColumn(); colunaEstC.DataType = System.Type.GetType("System.Int32"); colunaEstC.ColumnName = "Estoque C"; colunaEstC.ReadOnly = true; table.Columns.Add(colunaEstC); DataColumn colunaEstS = new DataColumn(); colunaEstS.DataType = System.Type.GetType("System.Int32"); colunaEstS.ColumnName = "Estoque S"; colunaEstS.ReadOnly = true; table.Columns.Add(colunaEstS); // DataRow é o objeto para linha no Datatable DataRow row; if (cod == 1) { ProdporModelos = ProdutoDataAcess.BuscaProdporCodigo(tbox_codigo.Text); } if (cod == 2) { ProdporModelos = ProdutoDataAcess.BuscaProdporNome(tbox_nome.Text); } // Iniciamos um For para Adicionar itens no DataTable for (int i = 0; i < ProdporModelos.Count; i++) { row = table.NewRow(); // Adicionamos uma linha do DataTable row["Id"] = ProdporModelos[i].id; row["Código"] = ProdporModelos[i].codigo; row["Descrição"] = ProdporModelos[i].descricao; row["Marca - Catálogo"] = ProdporModelos[i].marca; //row["Espécie"] = ProdporModelos[i].especie; row["Valor"] = ProdporModelos[i].valor; row["Modelo Veículo"] = ProdporModelos[i].NomeModelo; row["Qtde Estoque"] = EstoqueDataAcess.ConsultaEstoque(ProdporModelos[i].id).qtde; row["Estoque C"] = EstoqueDataAcess.ConsultaEstoque(ProdporModelos[i].id).qtde_C; row["Estoque S"] = EstoqueDataAcess.ConsultaEstoque(ProdporModelos[i].id).qtde_S; table.Rows.Add(row); // No final adicionamos a linha no Datatable. } // Create a DataView using the DataTable. DataView view = new DataView(table); // O View recebe o Datatable Preenchido dataGridViewSelProd.DataSource = view; dataGridViewSelProd.Columns[0].Visible = false; dataGridViewSelProd.Columns["Valor"].DefaultCellStyle.Format = "N2"; dataGridViewSelProd.Columns["Qtde Estoque"].DefaultCellStyle.BackColor = Color.Green; dataGridViewSelProd.Columns["Estoque C"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewSelProd.Columns["Estoque S"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewSelProd.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridViewSelProd.MultiSelect = false; dataGridViewSelProd.Columns["Modelo Veículo"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewSelProd.Columns["Descrição"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewSelProd.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dataGridViewSelProd.Columns["Descrição"].Width = 300; dataGridViewSelProd.Columns["Valor"].Width = 70; dataGridViewSelProd.Columns["Modelo Veículo"].Width = 120; }