public void GerarPlanilhas(string strPath, string emailEnvioRede, string emailEnvioCielo, string emailEnvioValeCultura, string emailEnvioEloCultura, string emailEnvioAmex, string emailEnvioPlanilhasManuais) { //PlanilhasEstornosManuais.GeraPlanilhaEstornosManuais(strPath, emailEnvioPlanilhasManuais); Rede.GeraPlanilhaRede(strPath, emailEnvioRede); Cielo.GeraPlanilhaCielo(strPath, emailEnvioCielo); ValeCultura.GeraPlanilhaValeCultura(strPath, emailEnvioValeCultura, "Vale Cultura"); ValeCultura.GeraPlanilhaValeCultura(strPath, emailEnvioEloCultura, "Elo Cultura"); Amex.GeraPlanilhaAmexAVista(strPath, emailEnvioAmex); AmexParcelado.GeraPlanilhaAmexParcelado(strPath, emailEnvioAmex); }
public static void GeraPlanilhaRede(string strPath, string emailEnvio) { if (!Directory.Exists(strPath)) { Directory.CreateDirectory(strPath); } string data = System.DateTime.Now.ToString("yyyyMMddHHmmss"); string arquivCopia = strPath + "Rede_" + data + ".xlsx"; string nomeArquivo = "Rede_" + data + ".xlsx"; ExcelPackage package = new ExcelPackage(); ExcelWorksheet ws = package.Workbook.Worksheets.Add("Cancelamento"); ws.Cells["A1"].Value = "Código Estabelecimento"; ws.Cells["B1"].Value = "Tipo de Venda"; ws.Cells["C1"].Value = "Nº do Cartão"; ws.Cells["D1"].Value = "Comprovante NSU"; ws.Cells["E1"].Value = "Data da Transação"; ws.Cells["F1"].Value = "Valor Total da Venda"; ws.Cells["G1"].Value = "Saldo Disponivel"; ws.Cells["H1"].Value = "Tipo Cancelamento"; ws.Cells["I1"].Value = "Valor a Estornar"; ws.Cells["J1"].Value = "Senha Venda"; //ws.Cells["H1"].Value = "Valor já Estornado"; //ws.Cells["I1"].Value = "Valor Ativo"; //ws.Cells["J1"].Value = "Parcelado / À Vista"; //ws.Cells["K1"].Value = "Nº de Parcelas"; //ws.Cells["L1"].Value = "OBS HIPERCARD"; //////////////////////////////////////////////////////////////////////////////////////////////////// //int linha = 2; List <Rede> lstRede = new List <Rede>(); lstRede = Rede.getEstornosRede(); if (lstRede.Count > 0) { int linha = 2; foreach (Rede item in lstRede) { if (item.Status == 'R') { ws.Cells[linha, 1].Value = item.CodEstabelecimento; ws.Cells[linha, 2].Value = item.TipoVenda; ws.Cells[linha, 3].Value = item.NumeroCartao; ws.Cells[linha, 4].Value = item.NumeroComprovanteNSU; ws.Cells[linha, 5].Value = item.DataTransacao; ws.Cells[linha, 6].Value = item.ValorTotalVenda; ws.Cells[linha, 7].Value = item.SaldoDisponivel; ws.Cells[linha, 8].Value = item.TipoDeCancelamento; ws.Cells[linha, 9].Value = item.ValorAEstornar; ws.Cells[linha, 10].Value = item.SenhaVenda; linha++; } } //////////////////////////////////////////////////////////////////////////////////////////////////// ws.Cells.AutoFitColumns(); FileInfo fi = new FileInfo(arquivCopia); package.SaveAs(fi); BinaryReader br = new BinaryReader(fi.OpenRead()); foreach (Rede item in lstRede) { if (item.Status == 'R') { item.setPlanilhaGerada(); } else if (item.Status == 'W') { item.setItemWait(); } } bool registrosNovos = lstRede.ToList().Count(t => t.Status.Equals('R')) > 0; if (registrosNovos) { string[] lstEmails = emailEnvio.Split(';'); byte[] arrAnexo = br.ReadBytes((int)fi.Length); foreach (string email in lstEmails) { IRLib.Emails.Retorno retorno = GetInstance(). EnviarEmailCancelamentoEstornoOperadora(email, "Estorno Planilhas", arrAnexo, nomeArquivo); } InsertHistorico("Mastercard", arquivCopia, nomeArquivo, emailEnvio); } } }
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); }