private void PreencherCliente()
        {
            infoPessoa            = clienteNegocios.ConsultarPessoaId(vendaInfo.venidcliente);
            labelCliente.Text     = "Cliente: " + infoPessoa.Nome;
            labelValorVolume.Text = string.Format("{0:000}", vendaInfo.venquant);
            labelValorTotal.Text  = vendaInfo.venvalor.ToString("C");

            PreencherFormProduto();
        }
        private void Concluir()
        {
            if (troco >= 0)
            {
                if (InserirVenda() > 0)
                {
                    PagamentoInfo pagamentoInfo = new PagamentoInfo
                    {
                        pagamentoid         = 0,
                        pagamentoidvenda    = vendaInfo.venid,
                        pagamentoquantforma = dataGridViewFormaPag.RowCount,
                        pagamentovalor      = vendaInfo.venvalor,
                        pagamentotroco      = troco
                    };

                    int cod = vendaNegocios.InsertPagamento(pagamentoInfo);
                    if (cod > 0)
                    {
                        foreach (GridFormaPagamentoInfo pag in gridFormaPagamentoColecao)
                        {
                            PagamentoDetalhesInfo pagamentoDetalhesInfo = new PagamentoDetalhesInfo
                            {
                                pagdetalhesid          = 0,
                                pagdetalhesidmaquineta = pag.pagband,
                                pagdetalhesidpag       = cod,
                                pagdetalhesidtipopag   = pag.pagtipo,
                                pagdetalhesnumparcelas = pag.parc,
                                pagdetalhesvalor       = pag.pagid == 1 ? pag.pagvalor - troco : pag.pagvalor,
                                pagdetalhesidform      = pag.pagid
                            };

                            if (vendaNegocios.InsertPagamentoDetalhes(pagamentoDetalhesInfo) == 0)
                            {
                                Form1.encerrarThread = true;
                                FormMessage.ShowMessegeWarning("Falha, tente novamente!");
                                return;
                            }
                        }

                        PessoaInfo     infoPessoa     = clienteNegocios.ConsultarPessoaId(vendaInfo.venidcliente);
                        Caixa          caixa          = new Caixa();
                        CaixaTurnoInfo caixaTurnoInfo = caixa.ConsultarTurnoAberto();

                        EntradaSaidaInfo entradaSaidaSalvar = new EntradaSaidaInfo
                        {
                            entracodtodasparcelas = 0,
                            entraconfirmada       = true,
                            entradatalancamento   = DateTime.Now,
                            entradatavenc         = DateTime.Now.Date,
                            entradocumento        = Convert.ToString(vendaInfo.venid),
                            entraid               = 0,
                            entraidfunc           = Form1.User.useidfuncionario,
                            entraidunidade        = Form1.Unidade.uniid,
                            entranumparcela       = 1,
                            entranumtotalparcelas = 1,
                            entraobs              = "Controle da venda: " + string.Format("{0:000000000}", pagamentoInfo.pagamentoidvenda) + Environment.NewLine +
                                                    "Cliente: " + infoPessoa.Nome + Environment.NewLine + "Vendedor: " + Form1.User.usenome,
                            entratipocatdecricao = "",
                            entratipoidcat       = 4,
                            entravalor           = pagamentoInfo.pagamentovalor,
                            entravalorpago       = pagamentoInfo.pagamentovalor,
                            entraidtipoentrada   = 4,
                            entraparcelado       = false
                        };

                        EntradaSaidaNegocios entradaSaidaNegocios = new EntradaSaidaNegocios(Form1.Empresa.empconexao);
                        if (entradaSaidaNegocios.InsertEntradaSaidaLancamento(entradaSaidaSalvar) == 0)
                        {
                            Form1.encerrarThread = true;
                            FormMessage.ShowMessegeWarning("Falha, tente novamente!");
                            return;
                        }

                        Form1.encerrarThread = true;
                        this.DialogResult    = DialogResult.Yes;
                    }
                }
                else
                {
                    Form1.encerrarThread = true;
                    FormMessage.ShowMessegeWarning("Falha ao tentar concluir a venda!");
                    this.DialogResult = DialogResult.Cancel;
                }
            }
            else
            {
                Form1.encerrarThread = true;
                FormMessage.ShowMessegeWarning("Todo o valor precisa ser liquidado para concluir a venda!");
            }

            Form1.encerrarThread   = true;
            pictureBoxLoad.Visible = false;
        }
        private void buttonSalvar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBoxDescricao.Text))
            {
                FormMessage.ShowMessegeWarning("Insira o motivo do concelamento!");
            }
            else
            {
                if (FormMessage.ShowMessegeQuestion("Deseja cancelar está venda?") == DialogResult.Yes)
                {
                    int cod = vendaNegocios.InsertVendaCancelada(Form1.User.useidfuncionario, vendaInfo.venid, textBoxDescricao.Text);
                    if (cod > 0)
                    {
                        ClienteNegocios clienteNegocios = new ClienteNegocios(Form1.Empresa.empconexao, Form1.Unidade.uniassistencia);
                        PessoaInfo      infoPessoa      = clienteNegocios.ConsultarPessoaId(vendaInfo.venidcliente);

                        CaixaNegocios  caixaNegocios  = new CaixaNegocios(Form1.Empresa.empconexao);
                        Caixa          caixa          = new Caixa();
                        CaixaTurnoInfo caixaTurnoInfo = caixa.ConsultarTurnoAberto();
                        string         nome           = string.Empty;

                        if (infoPessoa != null)
                        {
                            nome = infoPessoa.pssnome;
                        }
                        else
                        {
                            nome = "CLIENTE AVULSO";
                        }

                        EntradaSaidaInfo entradaSaidaSalvar = new EntradaSaidaInfo
                        {
                            entracodtodasparcelas = 0,
                            entraconfirmada       = true,
                            entradatalancamento   = DateTime.Now,
                            entradatavenc         = DateTime.Now.Date,
                            entradocumento        = Convert.ToString(vendaInfo.venid),
                            entraid               = 0,
                            entraidfunc           = Form1.User.useidfuncionario,
                            entraidunidade        = Form1.Unidade.uniid,
                            entranumparcela       = 1,
                            entranumtotalparcelas = 1,
                            entraobs              = "Controle da venda: " + string.Format("{0:000000000}", vendaInfo.venid) + Environment.NewLine +
                                                    "Motivo do cancelamento:" + Environment.NewLine + textBoxDescricao.Text + Environment.NewLine +
                                                    "Cliente: " + nome + Environment.NewLine + "Cancelado por: " + Form1.User.usenome,
                            entratipocatdecricao = "",
                            entratipoidcat       = 7, //caracterizado como estorno de venda
                            entravalor           = vendaInfo.venvalor,
                            entravalorpago       = vendaInfo.venvalor,
                            entraidtipoentrada   = 4, //caraterizado como venda
                            entraparcelado       = false
                        };

                        EntradaSaidaNegocios entradaSaidaNegocios = new EntradaSaidaNegocios(Form1.Empresa.empconexao);
                        if (entradaSaidaNegocios.InsertEntradaSaidaLancamento(entradaSaidaSalvar) == 0)
                        {
                            FormMessage.ShowMessegeWarning("Falha, tente novamente!");
                            return;
                        }

                        this.DialogResult = DialogResult.Yes;
                    }
                }
            }
        }
Beispiel #4
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);
            }
        }