private void InserirVenda()
        {
            caixa = new Caixa();
            if (caixa.VerificarCaixa())
            {
                vendaFinal = new VendaInfo();
                CaixaTurnoInfo caixaTurnoInfo = caixa.ConsultarTurnoAberto();

                if (vendaInfo == null)
                {
                    VendaInfo vendaNova = new VendaInfo
                    {
                        vendata          = DateTime.Now.Date,
                        venidcliente     = infoPessoa.Id,
                        venidfunc        = Form1.User.useidfuncionario,
                        venidunidade     = Form1.Unidade.uniid,
                        venquant         = qtTotal,
                        venvalor         = dcTotal,
                        venvip           = VendaVip ? 1 : 0,
                        venmodo          = 1,
                        venidturno       = caixaTurnoInfo.caixaturnoid,
                        venidstatus      = 1,
                        venidtipoentrada = 4
                    };

                    vendaFinal = vendaNova;
                }
                else
                {
                    vendaInfo.venidturno = caixaTurnoInfo.caixaturnoid;
                    vendaInfo.venquant   = qtTotal;
                    vendaInfo.venvalor   = dcTotal;
                    vendaFinal           = vendaInfo;
                }

                colecaoDetalhes = new VendaDetalhesColecao();
                foreach (ItemVendaInfo item in colecaoItemVenda)
                {
                    VendaDetalhesInfo vendaDetalhesInfo = new VendaDetalhesInfo
                    {
                        vendetalhesid        = 0,
                        vendetalhesidprod    = item.Id,
                        vendetalhesidvenda   = 0,
                        vendetalhesquant     = item.Quant,
                        vendetalhesvalordesc = item.ValorDesc,
                        vendetalhesvalorunit = item.ValorUnit,
                        vendetalhesidfunc    = item.funid
                    };

                    colecaoDetalhes.Add(vendaDetalhesInfo);
                }
            }
            else
            {
                FormMessage.ShowMessegeWarning("Verificar se há algum caixa aberto!");
            }
        }
        private void CriarVenda(EnumVenda enumVenda)
        {
            vendaInfo = new VendaInfo
            {
                vendata          = DateTime.Now.Date,
                venidcliente     = infoServ.seridcliente,
                venidfunc        = infoServ.seridtecresp,
                venidstatus      = 1,
                venidunidade     = Form1.Unidade.uniid,
                venquant         = quant,
                venvalor         = total,
                venvip           = 1,
                venmodo          = 1,
                venidturno       = 0,
                venidtipoentrada = 2
            };

            colecaoDetalhes = new VendaDetalhesColecao();

            if (enumVenda == EnumVenda.Taxa)
            {
                VendaDetalhesInfo vendaDetalhesInfo = new VendaDetalhesInfo
                {
                    vendetalhesid        = 0,
                    vendetalhesidprod    = taxa.proId,
                    vendetalhesidvenda   = vendaInfo.venid,
                    vendetalhesquant     = 1,
                    vendetalhesvalordesc = infoServ.sertaxa,
                    vendetalhesvalorunit = infoServ.sertaxa,
                    vendetalhesidfunc    = vendaInfo.venidfunc
                };

                colecaoDetalhes.Add(vendaDetalhesInfo);
            }
            else
            {
                foreach (GridPedidoInfo pedido in gridPedidoColecao)
                {
                    VendaDetalhesInfo vendaDetalhesInfo = new VendaDetalhesInfo
                    {
                        vendetalhesid        = 0,
                        vendetalhesidprod    = pedido.cod,
                        vendetalhesidvenda   = vendaInfo.venid,
                        vendetalhesquant     = pedido.quant,
                        vendetalhesvalordesc = pedido.valorDesc,
                        vendetalhesvalorunit = pedido.valorUnit,
                        vendetalhesidfunc    = vendaInfo.venidfunc
                    };

                    colecaoDetalhes.Add(vendaDetalhesInfo);
                }
            }

            Form1.encerrarThread = true;

            AbrirVenda(enumVenda);
        }
 public FormVenda(VendaInfo venda, VendaDetalhesColecao colecao, string servicoTexto, EnumVenda enumVenda)
 {
     Inicializar();
     OsTexto         = servicoTexto;
     vendaInfo       = venda;
     colecaoDetalhes = colecao;
     PreencherCliente();
     vendaEnum = enumVenda;
     AtivarForm(false);
 }
        private void PreencherFormThread()
        {
            responsavel = funcNegocios.ConsultarPessoaId(vendaInfo.venidfunc);
            infoPessoa  = clienteNegocios.ConsultarPessoaId(vendaInfo.venidcliente);

            if (colecaoDetalhes == null)
            {
                colecaoDetalhes = vendaNegocios.ConsultarVendaDetalhesIdVenda(vendaInfo.venid);
            }

            if (vendaInfo.venidstatus == 3)
            {
                vendaCanceladaInfo = vendaNegocios.ConsultarVendaCanceladaIdVenda(vendaInfo.venid);
            }

            Form1.encerrarThread   = true;
            pictureBoxLoad.Visible = false;
        }
        private void LimparVenda()
        {
            thread             = null;
            vendaInfo          = null;
            responsavel        = null;
            vendaFinal         = null;
            produtoInfo        = null;
            infoPessoa         = null;
            colecaoVendNova    = null;
            itemSelecionando   = null;
            colecaoItemVenda   = null;
            colecaoDetalhes    = null;
            vendaCanceladaInfo = null;

            dataGridViewItens.DataSource = null;

            ServicoTaxa    = null;
            VendaVip       = false;
            VendaEncerrada = false;
            VendaAtiva     = false;
            OsTexto        = string.Empty;

            qtTotal = 0;
            dcTotal = 0;
            buttonCliente.Enabled     = true;
            buttonResponsavel.Enabled = false;
            buttonDesconto.Enabled    = false;
            buttonCliente.Select();
            buttonImprimir.Enabled = false;

            labelCliente.Text         = "Cliente: ";
            labelDescricao.Text       = string.Empty;
            labelVendedor.Text        = "Vendedor: ";
            labelOperacao.Text        = "Operação: ";
            labelValorVolume.Text     = string.Empty;
            labelValorTotal.Text      = string.Empty;
            labelValorTotalProd.Text  = string.Empty;
            labelValorProdCod.Text    = string.Empty;
            labelValorProdBarras.Text = string.Empty;
            labelValorProdQuant.Text  = string.Empty;
            labelValorProdPreco.Text  = string.Empty;
            labelValorEstoque.Text    = string.Empty;
            textBoxQuant.Text         = "1.000";
        }
        private VendaDetalhesColecao PreencherVendaDetalhesColecao(DataTable dataTable)
        {
            VendaDetalhesColecao vendaDetalhesColecao = new VendaDetalhesColecao();

            foreach (DataRow row in dataTable.Rows)
            {
                VendaDetalhesInfo vendaDetalhesInfo = new VendaDetalhesInfo
                {
                    vendetalhesid        = Convert.ToInt32(row["vendetalhesid"]),
                    vendetalhesidprod    = Convert.ToInt32(row["vendetalhesidprod"]),
                    vendetalhesidvenda   = Convert.ToInt32(row["vendetalhesidvenda"]),
                    vendetalhesquant     = Convert.ToDecimal(row["vendetalhesquant"]),
                    vendetalhesvalordesc = Convert.ToDecimal(row["vendetalhesvalordesc"]),
                    vendetalhesvalorunit = Convert.ToDecimal(row["vendetalhesvalorunit"]),
                    vendetalhesidfunc    = Convert.ToInt32(row["vendetalhesidfunc"])
                };

                vendaDetalhesColecao.Add(vendaDetalhesInfo);
            }

            return(vendaDetalhesColecao);
        }
 public FormPagamento(VendaInfo venda, VendaDetalhesColecao colecao, ItemVendaColecao item) : this(venda, colecao)
 {
     colecaoItem = item;
 }
 public FormPagamento(VendaInfo venda, VendaDetalhesColecao colecao)
 {
     Inicializar();
     vendaInfo    = venda;
     vendacolecao = colecao;
 }
Exemple #9
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);
            }
        }