예제 #1
0
        private void BuscarPedido(PedidoInfo pedidoInfo)
        {
            labelPedidoCod.Text  = pedidoInfo.pedidocod;
            labelDataPedido.Text = pedidoInfo.pedidodata.ToLongDateString();
            groupBoxOs.Enabled   = false;
            BuscarServico(pedidoInfo.pedidoidserv);

            PedidoDetalhesColecao pedidoDetalhesColecao = pedidoNegocios.ConsultarPedidoDetalhesPedId(pedidoInfo.pedidoid);

            if (pedidoDetalhesColecao != null)
            {
                foreach (PedidoDetalhesInfo pedido in pedidoDetalhesColecao)
                {
                    GridPedidoInfo gridPedidoInfo = new GridPedidoInfo
                    {
                        cod        = pedido.peddetalhesid,
                        descricao  = produtoNegocios.ConsultarProdutosId(pedido.peddetalhesidprod).proDescricao,
                        quant      = pedido.peddetalhesquant,
                        valorDesc  = pedido.peddetalhesvalordesc,
                        valorTotal = pedido.peddetalhesvalordesc * pedido.peddetalhesquant,
                        valorUnit  = pedido.peddetalhesvalorunit
                    };

                    colecaoGridPedido.Add(gridPedidoInfo);
                }

                PreencherGridPedido();
            }
        }
        private void PreencherOrcamento()
        {
            if (orcamentoColecao != null)
            {
                gridPedidoColecao = new GridPedidoColecao();
                foreach (ServicoOrcamentoInfo orc in orcamentoColecao)
                {
                    decimal descont = orc.servicoorcamentotaxaativo ? -orc.servicoorcamentovalordesc : orc.servicoorcamentovalordesc;

                    ProdutoInfo prodTaxa = negocioProduto.ConsultarProdutosId(orc.servicoorcamentoidprod);

                    GridPedidoInfo grid = new GridPedidoInfo
                    {
                        cod        = orc.servicoorcamentoidprod,
                        descricao  = prodTaxa.proDescricao,
                        quant      = orc.servicoorcamentoquant,
                        valorDesc  = descont,
                        valorTotal = descont * orc.servicoorcamentoquant,
                        valorUnit  = orc.servicoorcamentovalorunit
                    };

                    gridPedidoColecao.Add(grid);
                }
            }
        }
        private void ConsultarProduto()
        {
            produtoInfo = new ProdutoInfo();

            if (radioButtonBarras.Checked)
            {
                produtoInfo = produtoNegocios.ConsultarProdutoCodBarras(textBoxProdutoCod.Text);

                if (produtoInfo != null)
                {
                    PreencherProdForm(produtoInfo);
                }
                else
                {
                    CodBarras = textBoxProdutoCod.Text;
                    textBoxProdutoCod.Clear();
                    FormProdutos formProdutos = new FormProdutos(CodBarras);
                    formProdutos.ShowDialog(this);
                    formProdutos.Dispose();
                }
            }
            else
            {
                if (int.TryParse(textBoxProdutoCod.Text, out int cod))
                {
                    produtoInfo = produtoNegocios.ConsultarProdutosId(cod);

                    if (produtoInfo != null)
                    {
                        PreencherProdForm(produtoInfo);
                    }
                }
                else
                {
                    FormMessage.ShowMessegeWarning("Insira um código válido!");
                    textBoxProdutoCod.Clear();
                }
            }
        }
예제 #4
0
        private void PreencherFormProduto()
        {
            ItemVendaInfo itemVendaInfo;

            if (vendaInfo != null)
            {
                foreach (VendaDetalhesInfo detalhes in colecaoDetalhes)
                {
                    produtoInfo = produtoNegocios.ConsultarProdutosId(detalhes.vendetalhesidprod);
                    responsavel = funcNegocios.ConsultarPessoaId(detalhes.vendetalhesidfunc);

                    itemVendaInfo = new ItemVendaInfo
                    {
                        Id        = produtoInfo.proId,
                        ValorDesc = detalhes.vendetalhesvalordesc,
                        Barras    = produtoInfo.proCodBarras,
                        Descricao = produtoInfo.proDescricao,
                        Quant     = detalhes.vendetalhesquant,
                        Total     = detalhes.vendetalhesquant * detalhes.vendetalhesvalordesc,
                        ValorUnit = detalhes.vendetalhesvalorunit,
                        funid     = responsavel.Id,
                        funnome   = responsavel.Nome
                    };

                    colecaoItemVenda.Add(itemVendaInfo);
                }
            }
            else
            {
                bool    estoqueZerado = false;
                decimal dbQuant       = Convert.ToDecimal(textBoxQuant.Text);
                decimal dbTotal       = produtoInfo.proValorVarejo * dbQuant;

                itemVendaInfo = new ItemVendaInfo
                {
                    Id        = produtoInfo.proId,
                    ValorDesc = produtoInfo.proValorVarejo,
                    Barras    = produtoInfo.proCodBarras,
                    Descricao = string.Format("{0:00000}", produtoInfo.proId) + " - " + produtoInfo.proDescricao,
                    Quant     = dbQuant,
                    Total     = dbTotal,
                    ValorUnit = produtoInfo.proValorVarejo,
                    funid     = responsavel.Id,
                    funnome   = responsavel.Nome
                };


                if (produtoInfo.proId > 0)
                {
                    if (colecaoItemVenda.Count > 0)
                    {
                        for (int i = 0; i < colecaoItemVenda.Count; i++)
                        {
                            if (colecaoItemVenda[i].Id == produtoInfo.proId)
                            {
                                itemVendaInfo.ValorDesc = colecaoItemVenda[i].ValorDesc;
                                itemVendaInfo.Quant    += colecaoItemVenda[i].Quant;
                                itemVendaInfo.Total     = colecaoItemVenda[i].ValorDesc * itemVendaInfo.Quant;
                                itemVendaInfo.funid     = colecaoItemVenda[i].funid;
                                itemVendaInfo.funnome   = colecaoItemVenda[i].funnome;
                                colecaoItemVenda.RemoveAt(i);
                                break;
                            }
                        }
                    }

                    colecaoItemVenda.Add(itemVendaInfo);
                }
                else
                {
                    bool b = true;

                    for (int i = 0; i < colecaoItemVenda.Count; i++)
                    {
                        if (colecaoItemVenda[i].Barras == produtoInfo.proCodBarras)
                        {
                            b = false;
                            break;
                        }
                    }

                    if (b)
                    {
                        colecaoItemVenda.Add(itemVendaInfo);
                    }
                }


                if (produtoInfo.proControleEstoque == true)
                {
                    int cod = produtoInfo.proId;
                    produtoInfo    = new ProdutoInfo();
                    negocioEstoque = new EstoqueNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                    produtoInfo    = negocioEstoque.ConsultarEstoqueIdProdutoUnid(cod, Form1.Unidade.uniid);

                    if (produtoInfo.prodestoquequant < 1)
                    {
                        estoqueZerado = true;
                        FormMessage.ShowMessegeWarning("Verificar o estoque, consta que não tem mais desse produto!");
                    }
                }

                if (produtoInfo.proControleEstoque == true && !estoqueZerado)
                {
                    if (itemVendaInfo.Quant > produtoInfo.prodestoquequant)
                    {
                        FormMessage.ShowMessegeWarning("A quantidade de produto lançada é maior que a " +
                                                       "quantidade que há no estoque!");
                    }
                }

                labelDescricao.Text      = produtoInfo.proDescricao.Length > 99 ? produtoInfo.proDescricao.Substring(0, 95) + "..." : produtoInfo.proDescricao;
                labelValorTotalProd.Text = dbTotal.ToString("C");

                labelValorProdCod.Text    = string.Format("{0:000000}", produtoInfo.proId);
                labelValorProdBarras.Text = produtoInfo.proCodBarras;
                labelValorProdQuant.Text  = dbQuant.ToString("000");
                labelValorProdPreco.Text  = produtoInfo.proValorVarejo.ToString("C");
                labelValorEstoque.Text    = string.Format("{0:000}", produtoInfo.prodestoquequant);

                textBoxQuant.Text = "1,000";
                textBoxBarras.Clear();
                textBoxBarras.Select();
                buttonRemover.Enabled = true;
            }

            //AdicionarItemGrid();
            AdicionarItem();
        }
예제 #5
0
        private void PreencherGrid()
        {
            int pesquisa = 0;

            produtosColecao = new ProdutoColecao();

            if (radioButtonProd.Checked)
            {
                pesquisa = 0;
            }

            if (radioButtonId.Checked)
            {
                pesquisa = 1;
            }

            if (radioButtonBarras.Checked)
            {
                pesquisa = 2;
            }

            switch (pesquisa)
            {
            case 0:
                produtosColecao = produtoNegocios.ConsultarProdutosDescricao(textBoxPesquisar.Text);
                break;

            case 1:
                if (int.TryParse(textBoxPesquisar.Text, out int id))
                {
                    produtosColecao.Add(produtoNegocios.ConsultarProdutosId(id));
                }
                else
                {
                    FormMessage.ShowMessegeWarning("Digite um código válido!");
                }
                break;

            case 2:
                produtosColecao.Add(produtoNegocios.ConsultarProdutoCodBarras(textBoxPesquisar.Text));
                break;

            default:
                break;
            }

            dataGridViewProd.DataSource = null;

            if (produtosColecao != null)
            {
                dataGridViewProd.DataSource = produtosColecao;
                dataGridViewProd.Select();
            }
            else
            {
                dataGridViewProd.Rows.Add(null, null, "Nenhum produto foi encontrado!");
                textBoxPesquisar.Select();
            }

            //dataGridViewProd.ClearSelection();
            textBoxPesquisar.Clear();
        }
예제 #6
0
 private void ConsultarProduto()
 {
     infoProd = produtoNegocios.ConsultarProdutosId(ProdCod);
     PreencherForm(infoProd, true);
 }
        private void BuscarProdutos(string id)
        {
            if (!string.IsNullOrEmpty(id))
            {
                if (radioButtonCod.Checked)
                {
                    if (int.TryParse(id, out int cod))
                    {
                        produtoInfo = produtoNegocios.ConsultarProdutosId(cod);
                    }
                    else
                    {
                        FormMessage.ShowMessegeWarning("Insira um código válido!");
                    }
                }
                else
                {
                    produtoInfo = produtoNegocios.ConsultarProdutoCodBarras(textBoxProdutoCod.Text);
                }

                if (produtoInfo != null)
                {
                    if (produtoInfo.proControleEstoque == true)
                    {
                        negocioEstoque = new EstoqueNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                        ProdutoInfo produto = negocioEstoque.ConsultarEstoqueIdProdutoUnid(produtoInfo.proId, Form1.Unidade.uniid);

                        if (produto != null)
                        {
                            if (textBoxFornecedorCod.Text == "000")
                            {
                                PreencherFormProduto(produto);
                            }
                            else
                            {
                                if (produto.proidfornecedor == infoPessoa.Id)
                                {
                                    PreencherFormProduto(produto);
                                }
                                else
                                {
                                    FormMessage.ShowMessegeWarning("Este produto não pertence a este fornecedor!");
                                    textBoxProdutoCod.Clear();
                                }
                            }
                        }
                        else
                        {
                            negocioEstoque = new EstoqueNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                            if (negocioEstoque.InsertProdutoEstoque(produtoInfo.proId, Form1.Unidade.uniid) > 0)
                            {
                                produto = negocioEstoque.ConsultarEstoqueIdProdutoUnid(produtoInfo.proId, Form1.Unidade.uniid);
                                PreencherFormProduto(produto);
                            }
                            else
                            {
                                FormMessage.ShowMessegeWarning("Falha!");
                            }
                        }
                    }
                    else
                    {
                        if (FormMessage.ShowMessegeQuestion("O controle de estoque não está ativo para este produto! Deseja ativar o controle?") == DialogResult.Yes)
                        {
                            if (produtoNegocios.UpdateProdutoConfirmarLancEstoqueId(produtoInfo.proId) > 0)
                            {
                                PreencherFormProduto(produtoInfo);
                            }
                        }
                    }
                }
                else
                {
                    FormMessage.ShowMessegeWarning("Código inválido!");
                    textBoxProdutoCod.Clear();
                    textBoxProdutoCod.Select();
                }
            }
        }
예제 #8
0
        public string[] CriarCupom(VendaInfo venda, string servico = "")
        {
            servico = string.IsNullOrEmpty(servico) ? "" : "(" + servico + ")";
            string cupom = string.Empty;

            string  fiscal    = "CUPOM NÃO FISCAL";
            string  a         = fiscal.Substring(0, fiscal.Length / 2).PadLeft(tam / 2, '=');
            string  b         = fiscal.Substring(fiscal.Length / 2).PadRight(tam / 2, '=');
            string  titulo    = a + b;
            decimal desconto  = 0;
            string  nomTitulo = string.Empty;

            //dados da venda.
            if (venda != null)
            {
                switch (venda.venidstatus)
                {
                case 1:
                    nomTitulo = "ORÇAMENTO";
                    break;

                case 2:
                    nomTitulo = "VENDA";
                    break;

                case 3:
                    nomTitulo = "CANCELADA";
                    break;

                default:
                    break;
                }

                string nomA = nomTitulo.Substring(0, nomTitulo.Length / 2).PadLeft(tam / 2);
                string nomB = nomTitulo.Substring(nomTitulo.Length / 2).PadRight(tam / 2);
                nomTitulo = nomA + nomB;

                PessoaInfo funcInfo   = funcNegocios.ConsultarPessoaId(venda.venidfunc);
                string     dadosvenda = string.Empty;
                dadosvenda += "CONTROLE: " + string.Format("{0:00000000}", venda.venid) + Environment.NewLine;
                dadosvenda += "VENDEDOR: " + funcInfo.pssnome + Environment.NewLine;
                dadosvenda += "DATA/HORA: " + venda.vendatacad + Environment.NewLine;

                string dadositem = string.Empty;
                VendaDetalhesColecao venDetalhesColecao = vendaNegocios.ConsultarVendaDetalhesIdVenda(venda.venid);

                //dados da empresa
                string empresa = "EMPRESA";
                string empA    = string.Empty;
                string empB    = string.Empty;

                empA    = empresa.Substring(0, empresa.Length / 2).PadLeft(tam / 2);
                empB    = empresa.Substring(empresa.Length / 2).PadRight(tam / 2);
                empresa = empA + empB;

                EmpresaNegocios empresaNegocios = new EmpresaNegocios(Form1.Empresa.empconexao);
                UnidadeInfo     unidade         = empresaNegocios.ConsultarUnidadeId(venda.venidunidade);
                string          dadosemp        = string.Empty;
                dadosemp += empresa + Environment.NewLine;
                dadosemp += unidade.unifantasia + Environment.NewLine;
                dadosemp += "Cnpj: " + string.Format(@"{0:00\.000\.000\/0000\-00}", Convert.ToDouble(unidade.unicnpj)) + Environment.NewLine;
                dadosemp += "End.: " + unidade.unicomplemento + ", " + Environment.NewLine;
                dadosemp += unidade.unilogradouro + Environment.NewLine;
                dadosemp += unidade.unibairro + ", " + unidade.unicidade + "-" + unidade.uniuf + Environment.NewLine;
                dadosemp += "Ref.: " + unidade.unireferencia + Environment.NewLine;
                dadosemp += "Telefone: " + unidade.unitelefone + Environment.NewLine;
                dadosemp += "Site: " + unidade.unisite.ToLower() + Environment.NewLine;
                dadosemp += "Email: " + unidade.uniemail.ToLower() + Environment.NewLine;

                //dados do cliente
                PessoaInfo infoPessoa = clienteNegocios.ConsultarPessoaId(venda.venidcliente);
                string     cliente    = "CLIENTE " + servico;
                string     cliA       = string.Empty;
                string     cliB       = string.Empty;

                cliA    = cliente.Substring(0, cliente.Length / 2).PadLeft(tam / 2);
                cliB    = cliente.Substring(cliente.Length / 2).PadRight(tam / 2);
                cliente = cliA + cliB;


                string dadoscliente = string.Empty;
                dadoscliente += cliente + Environment.NewLine;
                dadoscliente += infoPessoa.pssnome + Environment.NewLine;

                dadoscliente += "End.: " + infoPessoa.pssendcomplemento + ", " + Environment.NewLine
                                + infoPessoa.pssendlogradouro + Environment.NewLine;
                dadoscliente += infoPessoa.pssendbairro + ", " + infoPessoa.pssendcidade + "-" + infoPessoa.pssenduf + Environment.NewLine;


                dadoscliente += "Telefone: " + infoPessoa.psstelefone + Environment.NewLine;
                dadoscliente += "Email: " + infoPessoa.pssemail + Environment.NewLine;

                //produtos
                int item = 1;
                foreach (VendaDetalhesInfo detalhes in venDetalhesColecao)
                {
                    ProdutoInfo produtoInfo = produtoNegocios.ConsultarProdutosId(detalhes.vendetalhesidprod);

                    decimal calc = 0;

                    if (produtoInfo.protaxa)
                    {
                        calc = -detalhes.vendetalhesvalordesc;
                    }
                    else
                    {
                        calc = (detalhes.vendetalhesvalorunit - detalhes.vendetalhesvalordesc) * detalhes.vendetalhesquant;
                    }

                    string desc = string.Empty;
                    string prod = string.Empty;

                    dadositem += string.Format("{0:00}", item++) + "   ";

                    if (calc > 0)
                    {
                        desc  = (-calc).ToString("C2");
                        prod += desc;
                    }

                    prod += (detalhes.vendetalhesquant + " UN x " + detalhes.vendetalhesvalordesc.ToString("C2") + " = " + (detalhes.vendetalhesquant * detalhes.vendetalhesvalordesc).ToString("C2")).PadLeft(tam - desc.Length);

                    dadositem += string.Format("{0:00000}", produtoInfo.proId) + " " + produtoInfo.proDescricao + Environment.NewLine;
                    dadositem += prod.PadLeft(tam) + Environment.NewLine;
                    desconto  += calc;
                }

                //formas de pagamentos
                string dadosformapag = string.Empty;
                string troco         = string.Empty;

                if (venda.venmodo > 0)
                {
                    string pagamento = "FORMA DE PAGAMENTO";
                    string pagA      = string.Empty;
                    string pagB      = string.Empty;

                    pagA      = pagamento.Substring(0, pagamento.Length / 2).PadLeft(tam / 2);
                    pagB      = pagamento.Substring(pagamento.Length / 2).PadRight(tam / 2);
                    pagamento = pagA + pagB;

                    dadosformapag = pagamento + Environment.NewLine;
                    VFormaPagPorVendaColecao forma         = vendaNegocios.ConsultarVFormaPagPorVendaColecao(venda.venid);
                    PagamentoInfo            pagamentoInfo = vendaNegocios.ConsultarPagamentoIdVenda(venda.venid);

                    foreach (VFormaPagPorVendaInfo pag in forma)
                    {
                        string descricao = pag.formpagdescricao;

                        if (pag.pagdetalhesnumparcelas > 1)
                        {
                            decimal valor = pag.pagdetalhesvalor / pag.pagdetalhesnumparcelas;
                            descricao += " " + pag.pagdetalhesnumparcelas + "x " + valor.ToString("C2");
                        }
                        else
                        {
                            descricao += " À VISTA";
                        }

                        if (pag.formpagid == 1 && pagamentoInfo.pagamentotroco > 0)
                        {
                            descricao  = descricao.Replace(" À VISTA", "");
                            descricao += ", Recebido = " + (pag.pagdetalhesvalor + pagamentoInfo.pagamentotroco).ToString("C2");
                        }

                        dadosformapag += descricao + pag.pagdetalhesvalor.ToString("C2").PadLeft(tam - descricao.Length) + Environment.NewLine;
                    }

                    troco += Environment.NewLine;

                    if (desconto > 0)
                    {
                        string totalDesconto = "(" + string.Format("{0:0.00}", ((desconto * 100) / (venda.venvalor + desconto))) + "%) " + (-desconto).ToString("C2");
                        troco += "DESCONTO TOTAL: " + totalDesconto.PadLeft(tam - 16) + Environment.NewLine;
                    }

                    if (pagamentoInfo.pagamentotroco > 0)
                    {
                        troco += "TROCO: " + (-pagamentoInfo.pagamentotroco).ToString("C2").PadLeft(tam - 7) + Environment.NewLine;
                    }
                }

                string total = "SUBTOTAL: " + (venda.venvalor + desconto).ToString("C2").PadLeft(tam - 10) + Environment.NewLine;
                total += "VALOR A PAGAR: " + venda.venvalor.ToString("C2").PadLeft(tam - "VALOR A PAGAR: ".Length);

                cupom += titulo + Environment.NewLine;
                cupom += "" + Environment.NewLine;
                cupom += nomTitulo + Environment.NewLine;
                cupom += dadosvenda;
                cupom += "".PadLeft(tam, '=') + Environment.NewLine;
                cupom += dadosemp;
                cupom += "".PadLeft(tam, '=') + Environment.NewLine;
                cupom += dadoscliente;
                cupom += "".PadLeft(tam, '-') + Environment.NewLine;
                cupom += "ITEM COD.  DESCRICAO" + Environment.NewLine;
                cupom += "".PadLeft(tam, '-') + Environment.NewLine;
                cupom += dadositem + Environment.NewLine;
                cupom += "".PadLeft(tam, '*') + Environment.NewLine;
                cupom += "QUANT DE ITENS: " + string.Format("{0:00}", venda.venquant).PadLeft(tam - 16) + Environment.NewLine;
                cupom += total;
                cupom += "" + Environment.NewLine;
                cupom += "" + Environment.NewLine;
                cupom += dadosformapag;
                cupom += troco;

                string corpo  = cupom;
                string rodape = string.Empty;

                if (venda.venmodo > 0)
                {
                    rodape += "".PadLeft(tam, '.') + Environment.NewLine;
                    rodape += "" + Environment.NewLine;
                    rodape += nomTitulo + Environment.NewLine;
                    rodape += dadosvenda;
                    rodape += "UNIDADE: " + unidade.uniunidade + Environment.NewLine;
                    rodape += "" + Environment.NewLine;
                    rodape += dadoscliente;
                    rodape += "" + Environment.NewLine;
                    rodape += total;
                    rodape += "" + Environment.NewLine;
                    rodape += "" + Environment.NewLine;
                    rodape += dadosformapag;
                    rodape += troco;
                    rodape += "".PadLeft(tam, '.') + Environment.NewLine;
                }

                string[] ArrCupom = new string[2];

                ArrCupom[0] = corpo;
                ArrCupom[1] = rodape;

                return(ArrCupom);
            }
            else
            {
                FormMessage.ShowMessegeWarning("Nada foi encontrado!");
                return(null);
            }
        }