public frmVendaControlar(Usuario user, String alu_id) { InitializeComponent(); this.alu_id = alu_id; this.user = user; ven = new Venda(); lblUserLogado.Text = user.Login; atualizaInfo(); if (alu_id != "") { btnBuscar.Visible = false; btnExcluir.Visible = false; btnInfo.Enabled = false; gpbFiltros.Visible = false; gpbInfo.Visible = false; this.Text = "Vendas cobradas nesta mensalidade"; dtgvVendas.DataSource = ven.getVendasSemEntrada(alu_id); } else { dtpInicio.Value = DateTime.Today.AddDays(-1); btnExcluir.Enabled = false; btnInfo.Enabled = false; btnBuscar_Click(this, null); } }
public Venda getById(String cod) { Venda ven = new Venda(); sql = "SELECT * FROM venda WHERE ven_cod = @1"; sql = sql.Replace("@1", cod); bco.conecta(); bco.beginTransaction(); bco.executeQuery(sql, out dt); if (dt.Rows.Count > 0) { ven.Cod = cod; ven.AcessId = dt.Rows[0]["acess_id"].ToString(); ven.AluId = dt.Rows[0]["alu_id"].ToString(); ven.Data = dt.Rows[0]["ven_data"].ToString(); ven.Valor = dt.Rows[0]["ven_valor"].ToString(); } try { bco.commitTransaction(); } catch { bco.rollbackTransaction(); } bco.desconecta(); if (ven.AluId == "") ven.FormaPgmto = "À vista"; else { sql = "SELECT cai_data FROM entrada WHERE ven_cod = @1"; sql = sql.Replace("@1", cod); bco.conecta(); bco.executeQuery(sql, out dt); bco.desconecta(); if (dt.Rows.Count > 0) { if (!dt.Rows[0]["cai_data"].ToString().Equals(ven.Data)) ven.FormaPgmto = "Na mensalidade"; else ven.FormaPgmto = "À vista"; } else ven.FormaPgmto = "Na mensalidade"; } sql = "SELECT * FROM venda_produto WHERE ven_cod = @1"; sql = sql.Replace("@1", cod); bco.conecta(); bco.executeQuery(sql, out dt); bco.desconecta(); for (int i = 0; i < dt.Rows.Count; i++) { ven.addItem(dt.Rows[i]["prod_id"].ToString(), dt.Rows[i]["item_qtde"].ToString(), dt.Rows[i]["item_valor"].ToString()); } return ven; }
public void estoqueRestaurar(Venda ven) { ven.setItensVenda(getItensVendaById(ven.Cod)); foreach (ItensVenda p in ven.getItens()) { sql = "UPDATE produto SET prod_estatual = prod_estatual + @1 WHERE prod_id = @2"; sql = sql.Replace("@1", p.Qtde); sql = sql.Replace("@2", p.ProdId); bco.executeNonQuery(sql); } }
public bool excluir(Venda ven) { bco.conecta(); bco.beginTransaction(); entradaExcluir(ven.Cod); estoqueRestaurar(ven); itensVendaExcluir(ven.Cod); vendaExcluir(ven.Cod); try { bco.commitTransaction(); result = true; } catch { bco.rollbackTransaction(); result = false; } return result; }
public frmMensalidadePgmto(Usuario user, String matCod) { InitializeComponent(); Caixa cai = new Caixa(); cai.CaiData = DateTime.Today.ToShortDateString(); cai = cai.getCaixaByData(); if (cai.CaiAbert == "") { MessageBox.Show("Caixa não foi aberto!", "Venda não permitida!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Close(); } chkDesc.Checked = false; valorMens = valorDesc = valorFinal = valorProporcional = 0; this.user = user; mat = new Matricula(); mat.Id = matCod; mat = mat.getById(); lblMatCod.Text = mat.Id; lblMatDtIni.Text = DateTime.Parse(mat.DtIni).ToShortDateString(); lblMatVenc.Text = mat.DtVcmto; Modalidade modAux = new Modalidade(); modAux.Id = mat.ModId; modAux = modAux.getById(); valorMens = Convert.ToDecimal(modAux.ValorM); lblValorMens.Text = "R$" + valorMens; if (!lblValorMens.Text.Contains(",")) lblValorMens.Text += ",00"; atualizaTotal(); lblUserOn.Text = user.Login; mov = new Movimentacao(); mov.MatCod = mat.Id; int qtdeMensalidades = mov.getQtdeMensalidades(); int fatorPrimeiraParcela = 0; String[] diaInicio = mat.DtIni.Split('/'); if (mat.DtVcmto != diaInicio[0]) { fatorPrimeiraParcela = 1; if (qtdeMensalidades == 0) //primeira mens. com valor proporcional a calcular { chkProporcional.Visible = true; lblValorProp.Visible = true; Decimal valorDia = Convert.ToDecimal(modAux.ValorM) / 30; DateTime dtInicial = DateTime.Parse(mat.DtIni); DateTime dtVcmto = new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, Convert.ToInt32(mat.DtVcmto)); TimeSpan dif = dtVcmto - dtInicial; valorProporcional = dif.Days * valorDia; valorProporcional = Math.Round(valorProporcional, 2); atualizaTotal(); } } DateTime mensAtual = DateTime.Parse(mat.DtIni).AddMonths(qtdeMensalidades + fatorPrimeiraParcela); DateTime mensAtual2 = new DateTime(mensAtual.Year, mensAtual.Month, Convert.ToInt32(mat.DtVcmto)); lblMensVenc.Text = mensAtual2.ToShortDateString(); Venda ven = new Venda(); dtVendasSemEntrada = ven.getVendasSemEntrada(mat.AluId); if (dtVendasSemEntrada.Rows.Count > 0) //possui vendas sem pagar { valorProdutos = 0; for (int i = 0; i < dtVendasSemEntrada.Rows.Count; i++) valorProdutos += Convert.ToDecimal(dtVendasSemEntrada.Rows[i]["ven_valor"]); lblProdutosValor.Text = "R$"+valorProdutos; if (!lblProdutosValor.Text.Contains(',')) lblProdutosValor.Text += ",00"; atualizaTotal(); gpbProdutos.Enabled = true; } else gpbProdutos.Enabled = false; }
public frmVendaNova(Usuario user, String venCod) { InitializeComponent(); Caixa cai = new Caixa(); cai.CaiData = DateTime.Today.ToShortDateString(); cai = cai.getCaixaByData(); if (cai.CaiAbert == "") { MessageBox.Show("Caixa não foi aberto!", "Venda não permitida!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Close(); } inicializaItensVenda(); this.user = user; lblUserOn.Text = user.Login; if (venCod != "") { ven = new Venda(); ven.Cod = venCod; ven = ven.getById(); btnConfirmar.Visible = false; gpbProduto.Visible = false; Usuario userAux = new Usuario(); userAux.Id = Convert.ToInt32(ven.AcessId); userAux = userAux.getUserById(); lblQuemRealizou.Text = userAux.Login; lblDataVenda.Text = Convert.ToDateTime(ven.Data).ToShortDateString(); btnAluAdd.Visible = false; btnClear.Visible = false; btnConfirmar.Visible = false; btnRemoveItem.Visible = false; cbbFormaPgmto.Enabled = false; foreach (ItensVenda p in ven.getItens()) { DataRow linha = dttItensVenda.NewRow(); linha["prod_id"] = p.ProdId; Produto prod = new Produto(); prod.Id = p.ProdId; prod = prod.getById(); linha["nome"] = prod.Desc; linha["qtde"] = p.Qtde; linha["valor"] = p.Valor; linha["preco_unit"] = Convert.ToDecimal(p.Valor) / Convert.ToInt32(p.Qtde); qtdeTotal += Convert.ToInt32(p.Qtde); dttItensVenda.Rows.Add(linha); } if (ven.AluId != "") { Aluno aluAux = new Aluno(); aluAux.Id = Convert.ToInt32(ven.AluId); aluAux = aluAux.getAlunoById(); ttbAluNome.Text = aluAux.Nome; } else ttbAluNome.Text = "---"; lblQtdeItens.Text = "" + qtdeTotal; lblValorTotal.Text = ven.Valor; cbbFormaPgmto.Text = ven.FormaPgmto; } else { ttbQtde.Enabled = false; lblDataVenda.Text = DateTime.Today.ToShortDateString(); lblQuemRealizou.Text = user.Login; valor = 0; qtde = 1; valorTotal = 0; qtdeTotal = 0; lblValorTotal.Text = "R$" + valorTotal; lblQtdeItens.Text = "" + qtdeTotal; lblSubTotal.Text = "R$" + qtde * valor; btnClear.Enabled = false; btnRemoveItem.Enabled = false; cbbFormaPgmto.Text = "À vista"; cbbFormaPgmto.Enabled = false; } }
private void btnConfirmar_Click(object sender, EventArgs e) { if (MessageBox.Show("Deseja realmente realizar a venda?", "Vender?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { ven = new Venda(); for (int i = 0; i < dttItensVenda.Rows.Count; i++) { ven.addItem(dttItensVenda.Rows[i]["prod_id"].ToString(), dttItensVenda.Rows[i]["qtde"].ToString(), dttItensVenda.Rows[i]["valor"].ToString()); } ven.verificaEstoque(); if (ven.Msg != "") { MessageBox.Show(ven.Msg, "Venda não pode ser realizada!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); inicializaItensVenda(); atualizaTotais(); } else //realiza venda { ven.Data = DateTime.Today.ToShortDateString(); if (alu != null) ven.AluId = "" + alu.Id; ven.Valor = lblValorTotal.Text; ven.AcessId = "" + user.Id; ven.FormaPgmto = cbbFormaPgmto.Text; if (ven.gravar()) { if (ven.FormaPgmto.Equals("À vista")) { Movimentacao mov = new Movimentacao(); mov.AcessId = ven.AcessId; mov.CaiData = ven.Data; mov.Desc = "venda produto"; mov.Valor = ven.Valor; mov.VenCod = ven.Cod; mov.novaEntrada(); } MessageBox.Show("Venda realizada com sucesso!", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Information); if (MessageBox.Show("Deseja emitir recibo?", "Recibo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //chamar relatório vendas passando ven_id MessageBox.Show("utilizirá relatório!", "Em breve!", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.Close(); } else MessageBox.Show("Ocorreu um erro ao realizar a venda!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private bool gravaVenda(Venda ven) { String aluPart1, aluPart2; if (ven.AluId == "") { aluPart1 = ","; aluPart2 = ","; } else { aluPart1 = ",alu_id,"; aluPart2 = "," + ven.AluId + ","; } sql = "INSERT INTO venda(ven_data" + aluPart1 + "ven_valor, acess_id)" + " VALUES ('@1' " + aluPart2 + "'@3', '@4')"; sql = sql.Replace("@1", ven.Data); sql = sql.Replace("@3", ven.Valor); sql = sql.Replace("@4", ven.AcessId); result = bco.executeNonQuery(sql); return result; }
private bool gravaItens(Venda ven) { List<ItensVenda> itens = ven.getItens(); foreach (ItensVenda p in itens) { sql = "INSERT INTO venda_produto(ven_cod, prod_id, item_valor, item_qtde)" + " VALUES ('@1', '@2', '@3', '@4')"; sql = sql.Replace("@1", ven.Cod); sql = sql.Replace("@2", p.ProdId); sql = sql.Replace("@3", p.Valor); sql = sql.Replace("@4", p.Qtde); result = bco.executeNonQuery(sql); //baixa estoque sql = "UPDATE produto SET prod_estatual = prod_estatual - '@1' WHERE prod_id = @2"; sql = sql.Replace("@1", p.Qtde); sql = sql.Replace("@2", p.ProdId); result = bco.executeNonQuery(sql); } return result; }
public bool gravar(Venda ven) { bco.conecta(); bco.beginTransaction(); result = gravaVenda(ven); if (result) ven.Cod = getLastId(); gravaItens(ven); try { bco.commitTransaction(); result = true; } catch { bco.rollbackTransaction(); result = false; } bco.desconecta(); return result; }