//Construtor //-------------------------------------------------------------- public FormGridItensVenda() { InitializeComponent(); bd = new BancoDados(); item = new ItemVenda(); }
private void btnFinalizarVenda_Click(object sender, EventArgs e) { DialogResult res = MessageBox.Show("Confirma a finalização da venda?", "Finalizar Venda", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) { Caixa caixa = new Caixa(); caixa.ConsultaNumeroDeCaixasEmAberto(); if (caixa.NumCaixasAbertos > 0) { caixa.ConsultaCaixaAberto(); if (caixa.Data.Date == DateTime.Now.Date) { Venda venda = new Venda(); venda.RetornaIdVenda(); txtNumVenda.Text = Convert.ToString(venda.IdVenda); venda.DataVenda = dtVenda.Value; venda.Estado = "FINALIZADA"; if (chkClienteCadastrado.Checked) { venda.IdCliente = Convert.ToInt32(txtCodigoCliente.Text); } venda.Observacao = "VENDA A VISTA N. " + txtNumVenda.Text + ", PAGAMENTO REALIZADO EM: " + cbxFormaPgto.Text; venda.TotalVenda = Convert.ToDecimal(lblTotalVenda.Text); venda.Vendedor = lblVendedor.Text; if (chkClienteCadastrado.Checked) { venda.InserirVendaAV(true); } else { venda.InserirVendaAV(false); } //Inseri os itens na tabela venda_item //----------------------------------------------------- ItemVenda item = new ItemVenda(); item.IdVenda = Convert.ToInt32(txtNumVenda.Text); for (int i = 0; i < dataGridView1.RowCount; i++) { item.IdItem = Convert.ToInt32(dataGridView1.Rows[i].Cells["iditem"].Value); item.Desconto = Convert.ToDecimal(dataGridView1.Rows[i].Cells["desconto"].Value); item.Estado = Convert.ToString(dataGridView1.Rows[i].Cells["estado"].Value); item.IdProduto = Convert.ToInt32(dataGridView1.Rows[i].Cells["idproduto"].Value); item.Preco = Convert.ToDecimal(dataGridView1.Rows[i].Cells["preco"].Value); item.Qtde = Convert.ToInt32(dataGridView1.Rows[i].Cells["qtde"].Value); item.Total = Convert.ToDecimal(dataGridView1.Rows[i].Cells["total"].Value); item.InserirItem(); } Produtos prod = new Produtos(); prod.Usuario = lblVendedor.Text; try { for (int i = 0; i < dataGridView1.RowCount; i++) { if (dataGridView1.Rows[i].Cells["estado"].Value.ToString() == "OK") { prod.Id = Convert.ToInt32(dataGridView1.Rows[i].Cells["idproduto"].Value); //column 01 prod.AtualizarEstoque("VENDA A VISTA N." + txtNumVenda.Text, "NEGATIVO", Convert.ToInt32(dataGridView1.Rows[i].Cells["qtde"].Value)); //column 03 } } prod.Call_SP_EstadoProduto(); } catch (Exception ex) { throw ex; } try { Parcela parcela = new Parcela(); parcela.IdVenda = Convert.ToInt32(txtNumVenda.Text); parcela.Prazo = 0; parcela.Estado = "PAGA"; parcela.Obs = ""; parcela.IdParcela = 1; parcela.DataVencimento = dtVenda.Value; parcela.ValorParcela = Convert.ToDecimal(lblTotalVenda.Text); if (chkClienteCadastrado.Checked) { parcela.IdCliente = Convert.ToInt32(txtCodigoCliente.Text); parcela.InserirParcelaAV(true); } else { parcela.InserirParcelaAV(false); } } catch (Exception) { throw; } try { Pagamento pag = new Pagamento(); pag.DataPagto = DateTime.Now; pag.IdFinalizadora = Convert.ToInt32(cbxFormaPgto.SelectedValue); pag.IdParcela = 1; pag.IdVenda = venda.IdVenda; pag.Usuario = usuarioAtual; pag.ValorPago = venda.TotalVenda; pag.Obs = "VENDA A VISTA"; if (chkClienteCadastrado.Checked) { pag.IdCliente = Convert.ToInt32(txtCodigoCliente.Text); pag.InserirPagamentoAV(true); caixa.Obs = "VENDA A VISTA N. " + txtNumVenda.Text + " - CLIENTE: " + lblNomeCliente.Text + ""; } else { pag.InserirPagamentoAV(false); caixa.Obs = "VENDA A VISTA N. " + txtNumVenda.Text; } caixa.ConsultaCaixaAberto(); caixa.RetornaIdEntrada(); caixa.Data = DateTime.Now; caixa.Valor = Convert.ToDecimal(txtValor.Text); caixa.Usuario = usuarioAtual; caixa.InserirEntrada(); } catch (Exception) { throw; } //Organiza Tela para uma nova venda... //-------------------------------------------------- //Zera DataGrid... dt = new DataTable(); dt.Columns.Add("iditem", typeof(int)); dt.Columns.Add("idvenda", typeof(int)); dt.Columns.Add("idproduto", typeof(int)); dt.Columns.Add("descricao", typeof(string)); dt.Columns.Add("preco", typeof(decimal)); dt.Columns.Add("qtde", typeof(int)); dt.Columns.Add("subtotal", typeof(decimal)); dt.Columns.Add("desconto", typeof(decimal)); dt.Columns.Add("total", typeof(decimal)); dt.Columns.Add("estado", typeof(string)); dataGridView1.DataSource = dt; btnCancelarItem.Enabled = false; lblNomeCliente.Text = ""; txtCodigoCliente.Clear(); gpbCliente.Enabled = false; chkClienteCadastrado.Checked = false; txtValor.Clear(); lblTroco.Text = ""; lblTotalVenda.Text = "0,00"; gpbFinalizar.Enabled = false; gpbItem.Enabled = true; int idVendaAtual = Convert.ToInt32(txtNumVenda.Text); //Gera novo ID de venda //---------------------------------------------------- venda.RetornaIdVenda(); txtNumVenda.Text = Convert.ToString(venda.IdVenda); this.CalcularTotalItens(); txtCodProduto.Focus(); //Imprime a Venda //---------------------------------------------------- DialogResult res2 = MessageBox.Show("Deseja Emitir a Relação de Produtos da Venda?", "Venda Finalizada", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res2 == DialogResult.Yes) { FormRelVenda rel = new FormRelVenda(); rel.MdiParent = this.ParentForm; rel.idvenda = idVendaAtual; rel.Show(); } } else { // MessageBox.Show("Existem Caixas Abertos do dia: " + caixa.Data.Date.ToString() + "\nÉ necessário realizar o Fechamento de Caixa!", "Caixa", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Existem Caixas Abertos do dia: " + caixa.Data.Date.ToString("dd/MM/yyyy") + "\nÉ necessário realizar o Fechamento de Caixa!", "Caixa", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Não existem Caixa Abertos para o Recebimento da Conta!\nEfetue a Abertura de Caixa.", "Caixa não Aberto", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }