private void RecuperandoDados(produto p) { using (var bd = new oficinaEntities()) { estoque etq = (from est in bd.estoque where est.idestoque == p.estoque_idestoque select est).FirstOrDefault(); txtQtdEstoque.Text = etq.qtd_estoque.ToString(); } //cbFornecedor.Text = p.fornecedor; txtDescricaoServico.Text = p.descricao; txtDescricaoMarca.Text = p.descricao_marca; txtValorCusto.Text = p.valor_custo.ToString(); txtMargemAvista.Text = p.margem_avista.ToString(); txtMargemPrazo.Text = p.margem_prazo.ToString(); txtMargemAtacado.Text = p.margem_atacado.ToString(); txtValorAvista.Text = p.valor_avista.ToString(); txtValorPrazo.Text = p.valor_prazo.ToString(); txtValorAtacado.Text = p.valor_atacado.ToString(); txtQtdACadastrar.Enabled = true; }
private void Salvar() { if (txtValorAvista.Text != "" && txtValorPrazo.Text != "" && txtValorAtacado.Text != "" && txtCodigoBarras.Text != "") { int qtd = int.Parse(txtQtdACadastrar.Text); using (var bd = new oficinaEntities()) { produto p = new produto(); estoque e = new estoque(); fornecedor f = (from fn in bd.fornecedor where fn.nome == cbFornecedor.Text select fn).FirstOrDefault(); //MessageBox.Show(f.idfornecedor.ToString()); p.idfornecedor = f.idfornecedor; p.estado = "Disponível"; produto prod = (from pdt in bd.produto where pdt.codigo == txtCodigo.Text select pdt).FirstOrDefault(); if (prod != null) { estoque est = (from etq in bd.estoque where etq.idestoque == prod.estoque_idestoque select etq).FirstOrDefault(); p.estoque_idestoque = est.idestoque; est.qtd_estoque = est.qtd_estoque + 1;// ERRO AQUI txtQtdEstoque.Text = est.qtd_estoque.ToString(); //bd.estoque.Add(e); } else { txtQtdEstoque.Text = "1"; e.qtd_estoque = 1; bd.estoque.Add(e); bd.SaveChanges(); p.estoque_idestoque = e.idestoque; } //CÓDIGO TESTE //if (e.qtd_estoque.ToString() == "") //{ // e.qtd_estoque = 1; //} //else //{ // e.qtd_estoque = e.qtd_estoque + 1; //} //p.estoque_idestoque = e.idestoque; p.descricao = txtDescricaoServico.Text; p.un = txtUnidade.Text; p.descricao_marca = txtDescricaoMarca.Text; p.codigo = txtCodigo.Text; p.codigo_barras = txtCodigoBarras.Text; p.valor_custo = Double.Parse(txtValorCusto.Text); p.margem_avista = Double.Parse(txtMargemAvista.Text); p.margem_prazo = Double.Parse(txtMargemPrazo.Text); p.margem_atacado = Double.Parse(txtMargemAtacado.Text); p.valor_avista = Double.Parse(txtValorAvista.Text); p.valor_prazo = Double.Parse(txtValorPrazo.Text); p.valor_atacado = Double.Parse(txtValorAtacado.Text); p.ultima_atualizacao = DateTime.Now; p.data_cadastro = DateTime.Now; //CÓDIGO TESTE //bd.estoque.Add(e); // bd.produto.Add(p); //bd.estoque.Add(e); bd.SaveChanges(); txtCodigoBarras.Text = ""; txtCodigoBarras.Focus(); //ListarUsuarios(); MessageBox.Show("Produto cadastrado com sucesso!"); } qtd--; txtQtdACadastrar.Text = qtd.ToString(); if (qtd == 0) { LimparCampus(); DesabilitarCampus(); } } else { MessageBox.Show("Por favor, preencha os campos obrigatórios!"); } }
private void txtCodigoBarras_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { if (txtCodigoBarras.Text != "") { using (var bd = new oficinaEntities()) { string codigoComparacao = txtCodigoBarras.Text; produto p = (from pr in bd.produto where pr.codigo_barras == codigoComparacao select pr).FirstOrDefault(); //var idEstoque = p.estoque_idestoque; //MessageBox.Show(idEstoque.ToString()); //estoque etq = (from et in bd.estoque // where et.idestoque == p.estoque_idestoque // select et).FirstOrDefault(); //var qtd = etq.qtd_estoque; //MessageBox.Show(qtd.ToString()); if (p != null && p.estado == "Disponível") { codigoDeBarrasDataGrid = txtCodigoBarras.Text; var idEstoque = p.estoque_idestoque; //MessageBox.Show(idEstoque.ToString()); estoque etq = (from et in bd.estoque where et.idestoque == p.estoque_idestoque select et).FirstOrDefault(); var qtd = etq.qtd_estoque; txtQtdEmEstoque.Text = qtd.ToString(); DesbloquearLabels(); if (radAVista.Checked) { txtProduto.Text = p.descricao; txtValorUnitario.Text = p.valor_avista.ToString(); txtQtd.Text = 1.ToString(); txtQtd.Focus(); } else { txtDesconto.Enabled = false; txtProduto.Text = p.descricao; txtValorUnitario.Text = p.valor_prazo.ToString(); txtQtd.Text = 1.ToString(); txtQtd.Focus(); } } else { MessageBox.Show("Não há informações sobre o objeto desejado. Por favor, entre em contato com o programador."); } } } else { MessageBox.Show("Código do produto não informado."); } } }
private void ClienteVenda(oficinaEntities bd) { //PEGANDO O ID DO ÚLTIMO OBJETO VENDA var pvendido = bd.venda.OrderByDescending(obj => obj.idvenda).FirstOrDefault(); int codigoProduto; if (pvendido != null) { codigoProduto = pvendido.idvenda; } //CONTADORES valorTotalCompra = 0; //Teste 210120202319 //bool flagVenda = false; double valor = 0; foreach (ClasseClienteVenda classeClienteVenda in ccv) { Document doc = new Document(PageSize.A4); //SE NÃO EXISTIR if (codigoVenda <= 0) //if (v.idvenda <= 0) { v.cliente_idcliente = classeClienteVenda.IdCliente; v.funcionario_idfuncionario = classeClienteVenda.IdFuncionario; v.valor_total_compra = classeClienteVenda.ValorTotalCompra; v.data_venda = classeClienteVenda.DataVenda; v.desconto_total = classeClienteVenda.DescontoTotal; v.forma_pagamento = classeClienteVenda.FormaPagamento; v.tipo_cliente = classeClienteVenda.TipoCadastroCliente; bd.venda.Add(v); bd.SaveChanges(); codigoVenda = v.idvenda; //Teste 210120202319 //flagVenda = true; //MessageBox.Show("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA: " + v.idvenda.ToString()); 21/04/2020 } if (ccv != null && ccv.Count >= 1) { valorTotalCompra = valorTotalCompra + (double)v.valor_total_compra; descontoTotaldaCompra = descontoTotaldaCompra + (double)v.desconto_total; //if(codigoProduto >= 1|| pvendido == null){ // iv.venda_idvenda = codigoProduto + 1; //} else { // iv.venda_idvenda = 1; //} iv.venda_idvenda = codigoVenda; iv.qtd = classeClienteVenda.Qtd; iv.preco_venda = classeClienteVenda.PrecoVenda; iv.desconto = classeClienteVenda.Desconto; iv.codigo_barras = classeClienteVenda.CodigoBarras; valor = valor + (double)iv.preco_venda; //MessageBox.Show("Valor a pagar: "+valor); //CÓDIGO TESTE string codigoComparacao = codigoDeBarrasDataGrid; produto p = (from pr in bd.produto where pr.codigo_barras == classeClienteVenda.CodigoBarras select pr).FirstOrDefault(); //MessageBox.Show("Código Comparação: "+codigoComparacao+"Código Barra Datagrid: "+codigoDeBarrasDataGrid); var idEstoque = p.estoque_idestoque; //MessageBox.Show(idEstoque.ToString()); 21/04/2020 estoque etq = (from et in bd.estoque where et.idestoque == p.estoque_idestoque select et).FirstOrDefault(); //CÓDIGO TESTE if (controleEstoque == 0) { controleEstoque = (int)etq.qtd_estoque; } etq.qtd_estoque = etq.qtd_estoque - 1; p.estado = "Indisponível"; //TESTE PDF 220420201407 //Document doc = new Document(PageSize.A4);//criando e estipulando o tipo da folha usada doc.SetMargins(40, 40, 40, 80); //estibulando o espaçamento das margens que queremos doc.AddCreationDate(); //adicionando as configuracoes //caminho onde sera criado o pdf + nome desejado //OBS: o nome sempre deve ser terminado com .pdf string caminho = @"C:\Users\Giliarde\Desktop" + "xxx.pdf"; //criando o arquivo pdf embranco, passando como parametro a variavel doc criada acima e a variavel caminho //tambem criada acima. PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(caminho, FileMode.Create)); doc.Open(); //criando uma string vazia string dados = ""; //criando a variavel para paragrafo Paragraph paragrafo = new Paragraph(dados); //etipulando o alinhamneto paragrafo.Alignment = Element.ALIGN_JUSTIFIED; //Alinhamento Justificado //adicioando texto //paragrafo.Add(paragrafo + "\n" + "Produto: " + p.descricao + " Valor: " + iv.preco_venda); paragrafo.Add("Produto: " + p.descricao + " Valor: " + iv.preco_venda); //acidionado paragrafo ao documento doc.Add(paragrafo); //Teste 210120202319 if (radAPrazo.Checked) { if (radCadastrado.Checked) { if (comboBoxNomeCliente.Text != "") { cliente client = (from ct in bd.cliente where ct.idusuario == clienteSel.idusuario select ct).FirstOrDefault(); //venda vendaRealizada = (from vd in bd.venda // where vd.idvenda == v.idvenda // select vd).FirstOrDefault(); //if (radCadastrado.Checked) //{ // vendaRealizada.cliente_idcliente = client.idcliente; // MessageBox.Show("Venda Id: " + vendaRealizada.cliente_idcliente); // MessageBox.Show("Venda Id: " + client.idcliente); //} if (client.divida == null) { client.divida = 0; } //MessageBox.Show(client.idcliente.ToString()); 21/04/2020 //TESTE double precoProduto = (double)iv.preco_venda; double dividaCliente = (double)client.divida; double conta = dividaCliente + precoProduto; client.divida = conta; bd.SaveChanges(); } else { MessageBox.Show("Por favor, selecione o cliente que fez a compra!"); } } else { MessageBox.Show("Não é possível realizar a venda a prazo se o cliente não estiver cadastrado."); } } //if (flagVenda) { // venda vend = (from vd in bd.venda // where vd.idvenda == v.idvenda // select vd).FirstOrDefault(); // vend.valor_total_compra = vend.valor_total_compra + iv.preco_venda; // flagVenda = false; //} bd.itens_vendidos.Add(iv); iv = new itens_vendidos(); bd.SaveChanges(); } else { } //fechando documento para que seja salva as alteraçoes. doc.Close(); // sv.descricao = classeServico.ServicoDescricao; // sv.valor = classeServico.ServicoValor; // sv.data_servico = classeServico.Data; // bd.servico.Add(sv); // bd.SaveChanges(); } //Teste 210420202348 venda vend = (from vd in bd.venda where vd.idvenda == v.idvenda select vd).FirstOrDefault(); vend.valor_total_compra = valor; bd.SaveChanges(); System.Diagnostics.Process.Start(@"C:\Users\Giliarde\Desktop" + "xxx.pdf"); }
private void InserirItemVenda() { using (var bd = new oficinaEntities()) { if (ValidarServico() && !ValidarCliente() && !ValidarVenda()) { servico s = new servico(); Servico(s); //bd.servico.Add(s); //bd.SaveChanges(); //itens.Add(new Itens(cmbMecanico.Text, richTxtBoxDescricao.Text, double.Parse(txtValorServico.Text), DateTime.Now)); cs.Add(new ClasseServico(cmbMecanico.Text, richTxtBoxDescricao.Text, double.Parse(txtValorServico.Text), DateTime.Now)); dgvVenda.DataSource = cs.ToList(); //MessageBox.Show("Entrou no Serviço!"); } else if (!ValidarServico() && ValidarCliente() && ValidarVenda()) { VendaProdutos(bd); //bd.SaveChanges(); if (vendaLiberada) { //produto p = (from pr in bd.produto // where pr.codigo_barras == txtCodigoBarras.Text // select pr).FirstOrDefault(); //var idEstoque = p.estoque_idestoque; //MessageBox.Show(idEstoque.ToString()); //estoque etq = (from et in bd.estoque // where et.idestoque == p.estoque_idestoque // select et).FirstOrDefault(); //var qtd = etq.qtd_estoque; //MessageBox.Show(qtd.ToString()); string pagamento, tipoCliente; if (radAPrazo.Checked) { pagamento = "À Vista"; } else { pagamento = "A Prazo"; } if (radCadastrado.Checked) { tipoCliente = "Cadastrado"; } else { tipoCliente = "Não Cadastrado"; } //MessageBox.Show("Data de Venda: "+v.data_venda.ToString()); 21/04/2020 //MessageBox.Show("Quantidade: "+iv.qtd.ToString()); 21/04/2020 //MessageBox.Show("Código de Barra: " + codigoDeBarrasDataGrid); 21/04/2020 //MessageBox.Show("Id Cliente: " + v.cliente_idcliente); ccv.Add(new ClasseClienteVenda(v.cliente_idcliente, v.funcionario_idfuncionario, (double)v.valor_total_compra, (DateTime)v.data_venda, (double)v.desconto_total, v.forma_pagamento, v.tipo_cliente, iv.venda_idvenda, (int)1, (int)iv.preco_venda, (int)iv.desconto, codigoDeBarrasDataGrid, iv.descricao)); dgvVenda.DataSource = ccv.ToList(); //itens.Add(new Itens(txtProduto.Text, codigoDeBarrasDataGrid, txtValorUnitario.Text, txtQtd.Text, txtDesconto.Text, tipoCliente, pagamento, comboBoxNomeCliente.Text)); //Variável Global //cv.Add(new ClienteVenda(tipoCliente, pagamento, comboBoxNomeCliente.Text, richTxtBoxDescricao.Text, txtCodigoBarras.Text, double.Parse(txtValorUnitario.Text), double.Parse(txtQtd.Text), double.Parse(txtDesconto.Text))); //dgvVenda.DataSource = cv.ToList(); //CÓDIGO TESTE string codigoComparacao = codigoDeBarrasDataGrid; produto p = (from pr in bd.produto where pr.codigo_barras == codigoComparacao select pr).FirstOrDefault(); //MessageBox.Show("Código Comparação: "+codigoComparacao+"Código Barra Datagrid: "+codigoDeBarrasDataGrid); var idEstoque = p.estoque_idestoque; //MessageBox.Show(idEstoque.ToString()); 21/04/2020 estoque etq = (from et in bd.estoque where et.idestoque == p.estoque_idestoque select et).FirstOrDefault(); //CÓDIGO TESTE if (controleEstoque == 0) { controleEstoque = (int)etq.qtd_estoque; } controleEstoque = (int)etq.qtd_estoque - 1; txtQtdEmEstoque.Text = controleEstoque.ToString(); //etq.qtd_estoque = etq.qtd_estoque - 1; //txtQtdEmEstoque.Text = etq.qtd_estoque.ToString(); //p.estado = "Indisponível"; //bd.SaveChanges(); codigoDeBarrasDataGrid = ""; //MessageBox.Show("Entrou no cliente e venda"); 21/04/2020 if (int.Parse(txtQtd.Text) == 0) { //LimparCampusVenda(); } } } else if (ValidarServico() && ValidarCliente() && ValidarVenda()) { servico s = new servico(); VendaProdutos(bd); Servico(s); bd.servico.Add(s); bd.SaveChanges(); string pagamento, tipoCliente; if (radAPrazo.Checked) { pagamento = "À Vista"; } else { pagamento = "A Prazo"; } if (radCadastrado.Checked) { tipoCliente = "Cadastrado"; } else { tipoCliente = "Não Cadastrado"; } //itens.Add(new Itens(txtProduto.Text, txtCodigoBarras.Text, txtValorUnitario.Text, txtQtd.Text, txtDesconto.Text, tipoCliente, pagamento, comboBoxNomeCliente.Text)); ccvs.Add(new ClasseClienteVendaServico(v.cliente_idcliente, v.funcionario_idfuncionario, (double)v.valor_total_compra, (DateTime)v.data_venda, (double)v.desconto_total, v.forma_pagamento, v.tipo_cliente, iv.venda_idvenda, (int)1, (int)iv.preco_venda, (int)iv.desconto, codigoDeBarrasDataGrid, iv.descricao, cmbMecanico.Text, s.descricao, (double)s.valor, (DateTime)s.data_servico)); dgvVenda.DataSource = ccvs.ToList(); //MessageBox.Show("Entrou no Serviço, cliente e venda!"); 21/04/2020 } else { MessageBox.Show("Para Concluir à venda, informe todos os dados necessários!"); } } }