private void BtnPesquisar_Click(object sender, EventArgs e) { var a = new PesquisaVendaPET(VendaPETRepository); if (a.ShowDialog() == DialogResult.OK) { List <ProdutoVenda> lpv = new List <ProdutoVenda>(); lpv = VendaPETRepository.GetPVenda(a.VendPet.Vp_cod).ToList(); txtcliente.Text = a.VendPet.Cliente.Cli_nome; txtValor.Text = a.VendPet.Vp_valortotal.ToString(); dtpData.Value = a.VendPet.Vp_datavenda; txtid.Text = a.VendPet.Vp_cod.ToString(); cliente = a.VendPet.Cliente; dgvProdutos.DataSource = lpv; produtos.Clear(); foreach (var k in lpv) { produtos.Add(k); } RenomeiaCampos(); } }
private void BtnVender_Click(object sender, EventArgs e) { int parcelas = 0, dias = 0; VendaPET v = new VendaPET(); bool flag = true; DateTime data = DateTime.Now; if (txtcliente.Text == null) { MessageBox.Show("Selecione um cliente"); } else { if (txtid.Text != "") { v.Vp_cod = Convert.ToInt32(txtid.Text); } if (produtos.Count == 0) { MessageBox.Show("Uma venda precisa ter pelo menos um produto!"); } else { v.Vp_valortotal = Convert.ToDecimal(txtValor.Text); v.Cliente = cliente; v.Vp_datavenda = dtpData.Value; List <ProdutoVenda> lpv = VendaPETRepository.GetPVenda(v.Vp_cod).ToList(); if (rbParcelado.Checked) { flag = false; if (txtParcelas.Text.Replace("R$", "").Replace("-", "").Replace("_", "").Replace(".", ",").Replace(" ", "").Replace(",", "").Length > 0) { string a = txtParcelas.Text.Replace("R$", "").Replace("-", "").Replace("_", "").Replace(".", ",").Replace(" ", ""); parcelas = Convert.ToInt32(a); if (txtDias.Text.Replace("R$", "").Replace("-", "").Replace("_", "").Replace(".", ",").Replace(" ", "").Replace(",", "").Length > 0) { string b = txtParcelas.Text.Replace("R$", "").Replace("-", "").Replace("_", "").Replace(".", ",").Replace(" ", ""); dias = Convert.ToInt32(b); data = dtpVencimentoParcela.Value; flag = true; } else { MessageBox.Show("Dias invalidos"); } } else { MessageBox.Show("Parcelas invalidas"); } } else { if (rbPrazo.Checked) { data = dtpVencimentoPrazo.Value; } } if (flag) { if (txtid.Text != "") { foreach (var a in lpv) { int estoque = a.Produto.Pp_estoque + a.Pv_quantidade; int?c = a.ProdutoID; VendaPETRepository.atualizarproduto((int)c, estoque); } } VendaPETRepository.gravar(v); if (rbParcelado.Checked) { decimal total = v.Vp_valortotal; decimal valorp = v.Vp_valortotal / parcelas; ContasAReceber c; for (int i = 0; i < parcelas; i++) { c = new ContasAReceber(); c.Cr_dataVencimento = data; if (i + 1 != parcelas) { c.Cr_valorAReceber = valorp; } else { c.Cr_valorAReceber = total; } total -= valorp; c.Cr_dataGeracao = DateTime.Now; c.VendaPet = (int)v.Vp_cod; c.UsuarioId = v.Usuarioid; VendaPETRepository.GravarContas(c); data = data.AddDays(dias); } } else { if (rbPrazo.Checked) { ContasAReceber c = new ContasAReceber(); c.Cr_dataVencimento = data; c.Cr_valorAReceber = v.Vp_valortotal; c.VendaPet = (int)v.Vp_cod; c.UsuarioId = v.Usuarioid; VendaPETRepository.GravarContas(c); } } foreach (var item in produtos) { item.Venda = v; item.Vendaid = v.Vp_cod; VendaPETRepository.GravarProds(item); ProdutoPET pp = ProdutoPETRepository.Get(item.ProdutoID); int n = pp.Pp_estoque - item.Pv_quantidade; int? c = item.ProdutoID; VendaPETRepository.atualizarproduto((int)c, n); } produtos.Clear(); limpar(); MessageBox.Show("Gravado com sucesso!"); } } } }