예제 #1
0
        public static List <AmexParcelado> getEstornosAmexParcelado()
        {
            DateTime dt = System.DateTime.Now;
            BD       bd = new BD();

            StringBuilder str = new StringBuilder();

            str.Append("SELECT est.ID, est.Cartao, b.Nome, vbfp.NSUHost, vbfp.NSUSitef, vbfp.NumeroAutorizacao, vb.DataVenda, ");
            str.Append("vb.Senha AS SenhaVenda, SUBSTRING(vbfp.CodigoIR, 2, 10) AS CodigoIR, c.CanalTipoID, ");
            str.Append("vbfp.Valor, fp.Parcelas, fp.Nome ,fp.Tipo, fpt.Nome, c.NroEstabelecimentoAmex, vb.id as VendaBilheteriaID ");
            str.Append("FROM EstornoDadosCartaoCredito est (NOLOCK) ");
            str.Append("inner join tVendaBilheteria vb (nolock) on vb.ID = est.VendaBilheteriaIDvenda ");
            str.Append("inner join tVendaBilheteriaFormaPagamento vbfp (nolock) on vbfp.VendaBilheteriaID = vb.ID ");
            str.Append("inner join tFormaPagamento fp (nolock) on fp.ID = vbfp.FormaPagamentoID ");
            str.Append("inner join tFormaPagamentoTipo fpt (nolock) on fp.FormaPagamentoTipoID = fpt.ID ");
            str.Append("inner join tBandeira b (nolock) on fp.BandeiraID = b.ID ");
            str.Append("inner join tCancelDevolucaoPendente cdp (NOLOCK) on cdp.VendaBilheteriaIDCancel = est.VendaBilheteriaIDcancel ");
            str.Append("inner join tCanal c (nolock) on c.ID = cdp.CanalID ");
            //str.Append("WHERE est.PlanilhaGerada IN (0,1) AND est.Status IN ('O', 'P', 'W') ");
            str.Append("WHERE est.PlanilhaGerada = 0  AND est.Status IN('P', 'W') ");
            str.Append("AND b.Nome IN ('American Express') AND fp.Parcelas > 1 ");
            //str.Append("AND (vbfp.NSUHost <> 0 OR vbfp.NSUSitef <> 0) ");

            List <AmexParcelado> lstAmexParcelado = new List <AmexParcelado>();

            bd.Consulta(str.ToString());

            VendaBilheteriaItem vbi = new VendaBilheteriaItem();

            while (bd.Consulta().Read())
            {
                AmexParcelado amexParc = new AmexParcelado();
                //amexParc.ID = bd.LerInt("ID");
                //amexParc.Estabelecimento = bd.LerString("NroEstabelecimentoAmex"); //"9061745055";//Valor default por enquanto

                string NSU       = "";
                int    CanalTipo = bd.LerInt("CanalTipoID");
                int    VendaID   = bd.LerInt("VendaBilheteriaID");

                //Amex amex = new Amex();

                if (CanalTipo == 1 || CanalTipo == 2)
                {
                    IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento TipoPagamento;

                    TipoPagamento = vbi.TipoPagamentoBilheteria(VendaID);

                    amexParc.ID = bd.LerInt("ID");

                    switch (TipoPagamento)
                    {
                    case IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento.TEF:
                        amexParc.Estabelecimento = "9061745048";    //Valor default para compras via TEF
                        break;

                    case IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento.Adyen:
                        amexParc.Estabelecimento = "9061745055";    //Valor default para compras via Adyen
                        break;

                    default:
                        amexParc.Estabelecimento = "";    //Valor default
                        break;
                    }
                }
                else
                {
                    amexParc.Estabelecimento = GetCodigoIR(bd.LerString("CodigoIR")); //bd.LerString("NroEstabelecimentoAmex");//"1037983464";//Valor default por enquanto
                }
                amexParc.NumeroCartao = bd.LerString("Cartao");
                amexParc.DataVenda    = bd.LerStringFormatoData("DataVenda");
                //amex.NSU = bd.LerString("NSUSitef");

                NSU = bd.LerString("NSUSitef");// == "" ? getNSUConciliacao(VendaID) : bd.LerString("NSUHost");

                NSU = NSU == "" ? getNSUConciliacao(VendaID) : NSU;

                if (NSU == "" || NSU == "0")
                {
                    amexParc.Status = 'W';//Wait, aguardar inserir manualmente NSU e Autorização
                }
                else
                {
                    amexParc.NSU    = NSU;
                    amexParc.Status = 'R';//Ready, pronta para processar
                }

                //amexParc.NumeroCartao = bd.LerString("Cartao");
                //amexParc.DataVenda = bd.LerStringFormatoData("DataVenda");
                //amexParc.NSU = bd.LerString("NSUSitef");
                amexParc.Autorizacao   = bd.LerStringFormatoData("NumeroAutorizacao");
                amexParc.ValorVenda    = bd.LerString("Valor");;
                amexParc.ValorCancelar = bd.LerString("Valor");
                amexParc.SenhaVenda    = bd.LerString("SenhaVenda");

                lstAmexParcelado.Add(amexParc);
            }

            return(lstAmexParcelado);
        }
예제 #2
0
        public static List <Cielo> getEstornosCielo()
        {
            DateTime dt = System.DateTime.Now;
            BD       bd = new BD();

            StringBuilder str = new StringBuilder();

            str.Append("SELECT est.ID, est.Cartao, b.Nome, vbfp.NSUHost, vbfp.NSUSitef, vbfp.NumeroAutorizacao, vb.DataVenda, ");
            str.Append("vb.Senha AS SenhaVenda, ");
            str.Append("vb.ValorTotal as ValorVenda, est.Valor as ValorEstorno, fp.Parcelas, fp.Nome ,fp.Tipo, fpt.Nome, vb.id as VendaBilheteriaID ");
            str.Append("FROM EstornoDadosCartaoCredito est (NOLOCK) ");
            str.Append("inner join tVendaBilheteria vb (nolock) on vb.ID = est.VendaBilheteriaIDvenda ");
            str.Append("inner join tVendaBilheteriaFormaPagamento vbfp (nolock) on vbfp.VendaBilheteriaID = vb.ID ");
            str.Append("inner join tFormaPagamento fp (nolock) on fp.ID = vbfp.FormaPagamentoID ");
            str.Append("inner join tFormaPagamentoTipo fpt (nolock) on fp.FormaPagamentoTipoID = fpt.ID ");
            str.Append("inner join tBandeira b (nolock) on fp.BandeiraID = b.ID ");
            str.Append("WHERE est.PlanilhaGerada = 0 ");
            str.Append("AND b.Nome IN ('Visa', 'Elo') AND est.Status = 'P' ");
            //str.Append("AND (vbfp.NSUHost <> 0 OR vbfp.NSUSitef <> 0) ");

            List <Cielo> lstCielo = new List <Cielo>();

            bd.Consulta(str.ToString());

            VendaBilheteriaItem vbi = new VendaBilheteriaItem();

            while (bd.Consulta().Read())
            {
                IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento TipoPagamento;

                TipoPagamento = vbi.TipoPagamentoBilheteria(bd.LerInt("VendaBilheteriaID"));

                Cielo cielo = new Cielo();
                cielo.ID = bd.LerInt("ID");
                switch (TipoPagamento)
                {
                case IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento.TEF:
                    cielo.Estabelecimento = "1037983464";    //Valor default para compras via TEF
                    break;

                case IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento.Adyen:
                    cielo.Estabelecimento = "1037590390";    //Valor default para compras via Adyen
                    break;

                default:
                    cielo.Estabelecimento = "1037983464";    //Valor default
                    break;
                }
                //cielo.Estabelecimento = "1037983464";//Valor default por enquanto
                cielo.Lote          = string.Empty;
                cielo.DataDepósito  = string.Empty;
                cielo.CartãoXID     = bd.LerString("Cartao");
                cielo.DataVenda     = bd.LerStringFormatoData("DataVenda");
                cielo.ValorVenda    = bd.LerString("ValorVenda");;
                cielo.ValorCancelar = bd.LerString("ValorEstorno");
                cielo.Autorizacao   = bd.LerString("NumeroAutorizacao");
                cielo.Motivo        = "";
                cielo.SenhaVenda    = bd.LerString("SenhaVenda");
                lstCielo.Add(cielo);
            }

            return(lstCielo);
        }
예제 #3
0
파일: Rede.cs 프로젝트: icaroferj/ir-api
        public static List <Rede> getEstornosRede()
        {
            DateTime      dt  = System.DateTime.Now;
            BD            bd  = new BD();
            StringBuilder str = new StringBuilder();

            str.Append("SELECT est.ID, est.Cartao, b.Nome, vbfp.NSUHost, vbfp.NSUSitef, ");
            str.Append("vbfp.NumeroAutorizacao, vb.DataVenda, vb.ValorTotal as ValorVenda, ");
            str.Append("vb.Senha AS SenhaVenda, c.CanalTipoID, ");
            str.Append("est.Valor as ValorEstorno, fp.Parcelas, fp.Nome ,fp.Tipo, fpt.Nome, ");
            str.Append("case fpt.Parcelas when 1 then 'Á VISTA' else 'PARCELADO' END AS AVistaParcelado, ");
            str.Append("case fpt.Parcelas when 1 then '' else fpt.Parcelas END AS NrParcelas, ");
            str.Append("CASE (vb.ValorTotal - est.Valor) ");
            str.Append("WHEN 0 THEN 'Total' ELSE 'Parcial' END AS TipoDeCancelamento, vb.id as VendaBilheteriaID ");
            str.Append("FROM EstornoDadosCartaoCredito est (NOLOCK) ");
            str.Append("INNER JOIN tVendaBilheteria vb (NOLOCK) on vb.ID = est.VendaBilheteriaIDvenda ");
            str.Append("INNER JOIN tVendaBilheteriaFormaPagamento vbfp (NOLOCK) on vbfp.VendaBilheteriaID = vb.ID ");
            str.Append("INNER JOIN tFormaPagamento fp (NOLOCK) on fp.ID = vbfp.FormaPagamentoID ");
            str.Append("INNER JOIN tFormaPagamentoTipo fpt (nolock) on fp.FormaPagamentoTipoID = fpt.ID ");
            str.Append("INNER JOIN tBandeira b (NOLOCK) on fp.BandeiraID = b.ID ");
            str.Append("INNER JOIN tCaixa cx (NOLOCK) on cx.id = vb.caixaid ");
            str.Append("INNER JOIN tloja l (NOLOCK) on l.id = cx.lojaid ");
            str.Append("INNER JOIN tCanal c (NOLOCK) on c.id = l.canalid ");
            str.Append("INNER JOIN tCanalTipo ct (NOLOCK) ON c.CanalTipoID = ct.ID ");
            str.Append("WHERE est.PlanilhaGerada = 0 ");
            str.Append("AND b.Nome IN ('Mastercard','Hipercard')  AND est.Status IN('P', 'W') ");
            //str.Append("AND (vbfp.NSUHost <> 0 OR vbfp.NSUSitef <> 0) ");

            List <Rede> lstRede = new List <Rede>();

            bd.Consulta(str.ToString());

            VendaBilheteriaItem vbi = new VendaBilheteriaItem();

            while (bd.Consulta().Read())
            {
                string NSUHost = "";

                int VendaID   = bd.LerInt("VendaBilheteriaID");
                int CanalTipo = bd.LerInt("CanalTipoID");

                IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento TipoPagamento;

                TipoPagamento = vbi.TipoPagamentoBilheteria(VendaID);

                Rede rede = new Rede();
                rede.ID = bd.LerInt("ID");
                switch (TipoPagamento)
                {
                case IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento.TEF:
                    rede.CodEstabelecimento = "40559637";    //Valor default para compras via TEF
                    break;

                case IRLib.ClientObjects.EstruturaPagamento.enumTipoPagamento.Adyen:
                    rede.CodEstabelecimento = "40762882";    //Valor default para compras via Adyen
                    break;

                default:
                    rede.CodEstabelecimento = "";    //Valor default
                    break;
                }

                rede.TipoVenda     = "Crédito";
                rede.DataTransacao = bd.LerStringFormatoData("DataVenda");
                rede.NumeroCartao  = bd.LerString("Cartao");

                NSUHost = bd.LerString("NSUHost");// == "" ? getNSUConciliacao(VendaID) : bd.LerString("NSUHost");

                NSUHost = NSUHost == "" ? getNSUConciliacao(VendaID) : NSUHost;

                if (NSUHost == "" || NSUHost == "0")
                {
                    rede.Status = 'W';//Wait, aguardar inserir manualmente NSU e Autorização
                }
                else
                {
                    rede.NumeroComprovanteNSU = NSUHost;
                    rede.Status = 'R';//Ready, pronta para processar
                }

                //rede.NumeroComprovanteNSU = bd.LerString("NSUHost");
                //rede.NumeroComprovanteNSU = bd.LerString("NSUSitef");
                //rede.Autorizacao = bd.LerString("NumeroAutorizacao");
                rede.ValorTotalVenda    = bd.LerString("ValorVenda");;
                rede.SaldoDisponivel    = "";//Sempre em branco, usado apenas pela operadora
                rede.TipoDeCancelamento = bd.LerString("TipoDeCancelamento");
                rede.ValorAEstornar     = bd.LerString("ValorEstorno");;
                //rede.ValorJaEstornado = "R$ 0,00";
                //rede.ValorAtivo = "R$ 0,00";
                //rede.ParceladoOUaVista = bd.LerString("AVistaParcelado"); ;
                //rede.NumeroParcelas = bd.LerString("NrParcelas");
                //rede.OBSHipercard = "";
                rede.SenhaVenda = bd.LerString("SenhaVenda");
                lstRede.Add(rede);
            }

            return(lstRede);
        }