public List<ReportePrepago> ReporteTransaccionesSuma(string tipotransaccion, string fechadesde, string fechahasta, string docnumber) { AfiliadoSumaIndex afiliado = repAfiliado.Find(docnumber, "", "", "", "").First(); string fechasdesdemod = fechadesde.Substring(6, 4) + fechadesde.Substring(3, 2) + fechadesde.Substring(0, 2); string fechahastamod = fechahasta.Substring(6, 4) + fechahasta.Substring(3, 2) + fechahasta.Substring(0, 2); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); ReportePrepago linea = new ReportePrepago(); List<PLZ_GETREPORT_Result> consulta = new List<PLZ_GETREPORT_Result>(); encabezado.nombreReporte = "Reporte de Transacciones Suma"; encabezado.parametrotipoconsultaReporte = docnumber + " " + afiliado.name + " " + afiliado.lastname1; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.tipotransaccionReporte = tipotransaccion; using (CardsEntities db = new CardsEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); if (tipotransaccion == "Todas") { consulta = db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, docnumber.Substring(2), Globals.TIPO_CUENTA_SUMA, "NULL").ToList(); } foreach (PLZ_GETREPORT_Result fila in consulta.Where(x => x.TRANSCODE != 121)) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = afiliado }, fecha = fila.BATCHTIME == null ? DateTime.ParseExact(fila.FECHA.Substring(6, 2) + "/" + fila.FECHA.Substring(4, 2) + "/" + fila.FECHA.Substring(0, 4), "dd/MM/yyyy", CultureInfo.InvariantCulture) : DateTime.ParseExact(fila.FECHA.Substring(6, 2) + "/" + fila.FECHA.Substring(4, 2) + "/" + fila.FECHA.Substring(0, 4) + " " + fila.BATCHTIME.Substring(0, 2) + ":" + fila.BATCHTIME.Substring(2, 2) + ":" + fila.BATCHTIME.Substring(4, 2), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture), monto = fila.SALDO.Value, detalle = fila.ISODESCRIPTION, tipo = fila.TRANSCODE + "-" + fila.TRANSNAME, numerotarjeta = Convert.ToDecimal(fila.PAN), batchid = fila.BATCHID.ToString(), Encabezado = encabezado }; if (fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_SUMA || fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_DEBITO_SUMA) { linea.detalle = linea.detalle + " (" + fila.B037 + ")"; } if (fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_CANJE_SUMA || fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_TRANSFERENCIA_DEBITO_SUMA || fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_SUMA) { linea.monto = linea.monto * Convert.ToInt32(Globals.FACTOR_CANJE); } reporte.Add(linea); } } reporte = reporte.OrderBy(x => x.fecha).ToList(); if (reporte.Count == 0) { linea = new ReportePrepago() { Encabezado = encabezado }; reporte.Add(linea); } return reporte; }
public List<ReportePrepago> ReporteTransaccionesPrepago(string tipotransaccion, string fechadesde, string fechahasta, string docnumber) { AfiliadoSumaIndex afiliado = repAfiliado.Find(docnumber, "", "", "", "").First(); string fechasdesdemod = fechadesde.Substring(6, 4) + fechadesde.Substring(3, 2) + fechadesde.Substring(0, 2); string fechahastamod = fechahasta.Substring(6, 4) + fechahasta.Substring(3, 2) + fechahasta.Substring(0, 2); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); ReportePrepago linea = new ReportePrepago(); List<PLZ_GETREPORT_Result> consulta = new List<PLZ_GETREPORT_Result>(); encabezado.nombreReporte = "Reporte de Transacciones Prepago"; encabezado.parametrotipoconsultaReporte = docnumber + " " + afiliado.name + " " + afiliado.lastname1; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.tipotransaccionReporte = tipotransaccion; using (CardsEntities db = new CardsEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); if (tipotransaccion == "Todas") { consulta = db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, docnumber.Substring(2), Globals.TIPO_CUENTA_PREPAGO, "NULL").ToList(); } foreach (PLZ_GETREPORT_Result fila in consulta.Where(x=>x.TRANSCODE != 121)) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = afiliado }, fecha = fila.BATCHTIME == null ? DateTime.ParseExact(fila.FECHA.Substring(6, 2) + "/" + fila.FECHA.Substring(4, 2) + "/" + fila.FECHA.Substring(0, 4), "dd/MM/yyyy", CultureInfo.InvariantCulture) : DateTime.ParseExact(fila.FECHA.Substring(6, 2) + "/" + fila.FECHA.Substring(4, 2) + "/" + fila.FECHA.Substring(0, 4) + " " + fila.BATCHTIME.Substring(0, 2) + ":" + fila.BATCHTIME.Substring(2, 2) + ":" + fila.BATCHTIME.Substring(4, 2), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture), monto = fila.SALDO.Value, detalle = fila.ISODESCRIPTION, tipo = fila.TRANSCODE + "-" + fila.TRANSNAME, numerotarjeta = Convert.ToDecimal(fila.PAN), batchid = fila.BATCHID.ToString(), Encabezado = encabezado }; if (fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_ANULACION_RECARGA_PREPAGO || fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_PREPAGO || fila.TRANSCODE.Value.ToString() == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_DEBITO_PREPAGO) { linea.detalle = linea.detalle + " (" + fila.B037 + ")"; } if (linea.detalle.Contains("offline")) { //buscar info en FueraDeLinea using (LealtadEntities db2 = new LealtadEntities()) { db2.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); string operacion = linea.batchid.ToString(); FueraDeLinea f = db2.FueraDeLineas.FirstOrDefault(t => t.batchid.Equals(operacion)); if (f != null) { string sucursal = repAfiliado.Find(afiliado.id).StoreOptions.Where(c => c.id != null).FirstOrDefault(x => x.id.Equals(f.store_code)).sucursal; linea.detalle = linea.detalle + " (origen: " + sucursal + ", motivo: " + f.observaciones + ")"; } } } reporte.Add(linea); } } reporte = reporte.OrderBy(x => x.fecha).ToList(); if (reporte.Count == 0) { linea = new ReportePrepago() { Encabezado = encabezado }; reporte.Add(linea); } return reporte; }
public List<ReportePrepago> ReporteDeComprasDetallado(string tiporeporte, string fechadesde, string fechahasta, string modotrans, int idCliente) { string fechasdesdemod = fechadesde.Substring(6, 4) + fechadesde.Substring(3, 2) + fechadesde.Substring(0, 2); string fechahastamod = fechahasta.Substring(6, 4) + fechahasta.Substring(3, 2) + fechahasta.Substring(0, 2); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); ReportePrepago linea = new ReportePrepago(); List<PLZ_GETREPORT_Result> consulta = new List<PLZ_GETREPORT_Result>(); #region Por Cliente específico, Detallado por Beneficiario if (tiporeporte == "detallado") { List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(idCliente, "", "", "", "", "").ToList(); encabezado.nombreReporte = "Reporte de Compras Detallado"; encabezado.tipodetalleReporte = "Detallado por Beneficiario"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = beneficiarios.First().Cliente.rifCliente + " " + beneficiarios.First().Cliente.nameCliente; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.modotransaccionReporte = modotrans; if (beneficiarios.Count != 0) { using (CardsEntities db = new CardsEntities()) { foreach (BeneficiarioPrepagoIndex b in beneficiarios) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); consulta = db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO).ToList(); if (modotrans == "Fuera de Línea") { consulta = consulta.Where(x => x.ISODESCRIPTION.Contains("offline")).ToList(); } else if (modotrans == "En Línea") { consulta = consulta.Where(x => !x.ISODESCRIPTION.Contains("offline")).ToList(); } foreach (PLZ_GETREPORT_Result fila in consulta) { linea = new ReportePrepago() { Beneficiario = b, fecha = fila.BATCHTIME == null ? DateTime.ParseExact(fila.FECHA.Substring(6, 2) + "/" + fila.FECHA.Substring(4, 2) + "/" + fila.FECHA.Substring(0, 4), "dd/MM/yyyy", CultureInfo.InvariantCulture) : DateTime.ParseExact(fila.FECHA.Substring(6, 2) + "/" + fila.FECHA.Substring(4, 2) + "/" + fila.FECHA.Substring(0, 4) + " " + fila.BATCHTIME.Substring(0, 2) + ":" + fila.BATCHTIME.Substring(2, 2) + ":" + fila.BATCHTIME.Substring(4, 2), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture), monto = fila.SALDO.Value, detalle = fila.ISODESCRIPTION, tipo = "145-Compra", numerotarjeta = Convert.ToDecimal(fila.PAN), batchid = fila.BATCHID.ToString(), Encabezado = encabezado }; if (linea.detalle.Contains("offline")) { //buscar info en FueraDeLinea using (LealtadEntities db2 = new LealtadEntities()) { db2.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); string operacion = linea.batchid.ToString(); FueraDeLinea f = db2.FueraDeLineas.FirstOrDefault(t => t.batchid.Equals(operacion)); if (f != null) { string sucursal = repAfiliado.Find(b.Afiliado.id).StoreOptions.Where(c => c.id != null).FirstOrDefault(x => x.id.Equals(f.store_code)).sucursal; linea.detalle = linea.detalle + " (origen: " + sucursal + ", motivo: " + f.observaciones + ")"; } } } reporte.Add(linea); } } } } reporte = reporte.OrderBy(x => x.fecha).ToList(); } #endregion #region Por Cliente específico, Consolidado por Beneficiario else if (tiporeporte == "consolidado") { List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(idCliente, "", "", "", "", "").OrderBy(x => x.Afiliado.docnumber).ToList(); encabezado.nombreReporte = "Reporte de Compras Detallado"; encabezado.tipodetalleReporte = "Consolidado por Beneficiario"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = beneficiarios.First().Cliente.rifCliente + " " + beneficiarios.First().Cliente.nameCliente; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.modotransaccionReporte = modotrans; decimal TotalCompras = 0; if (beneficiarios.Count != 0) { using (CardsEntities db = new CardsEntities()) { foreach (BeneficiarioPrepagoIndex b in beneficiarios) { TotalCompras = 0; db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); consulta = db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO).ToList(); if (modotrans == "Fuera de Línea") { consulta = consulta.Where(x => x.ISODESCRIPTION.Contains("offline")).ToList(); } else if (modotrans == "En Línea") { consulta = consulta.Where(x => !x.ISODESCRIPTION.Contains("offline")).ToList(); } foreach (PLZ_GETREPORT_Result fila in consulta) { TotalCompras = TotalCompras + fila.SALDO.Value; } // NO INCLUYO BENEFICIARIOS SIN COMPRAS if (TotalCompras != 0) { linea = new ReportePrepago() { Beneficiario = b, monto = TotalCompras, tipo = "145-Compra", Encabezado = encabezado }; reporte.Add(linea); } } } } } #endregion if (reporte.Count == 0) { linea = new ReportePrepago() { Encabezado = encabezado }; reporte.Add(linea); } return reporte; }
public List<ReportePrepago> ReporteDeComprasConsolidado(string tiporeporte, string fechadesde, string fechahasta, string modotrans, int idCliente) { string fechasdesdemod = fechadesde.Substring(6, 4) + fechadesde.Substring(3, 2) + fechadesde.Substring(0, 2); string fechahastamod = fechahasta.Substring(6, 4) + fechahasta.Substring(3, 2) + fechahasta.Substring(0, 2); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); ReportePrepago linea = new ReportePrepago(); List<PLZ_GETREPORT_Result> consulta = new List<PLZ_GETREPORT_Result>(); decimal TotalCompras; #region Por Cliente específico if (tiporeporte == "uno") { List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(idCliente, "", "", "", "", "").ToList(); encabezado.nombreReporte = "Reporte de Compras Consolidado"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = beneficiarios.First().Cliente.rifCliente + " " + beneficiarios.First().Cliente.nameCliente; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.modotransaccionReporte = modotrans; TotalCompras = 0; if (beneficiarios.Count != 0) { using (CardsEntities db = new CardsEntities()) { foreach (BeneficiarioPrepagoIndex b in beneficiarios) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); consulta = db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO).ToList(); if (modotrans == "Offline") { consulta = consulta.Where(x => x.ISODESCRIPTION.Contains("offline")).ToList(); } else if (modotrans == "En Linea") { consulta = consulta.Where(x => !x.ISODESCRIPTION.Contains("offline")).ToList(); } foreach (PLZ_GETREPORT_Result fila in consulta) { TotalCompras = TotalCompras + fila.SALDO.Value; } } //NO INCLUYO CLIENTES SIN COMPRAS if (TotalCompras != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Cliente = beneficiarios.First().Cliente }, monto = TotalCompras, tipo = "145-Compra", Encabezado = encabezado }; reporte.Add(linea); } } } } #endregion #region Todos los Clientes else if (tiporeporte == "todos") { List<ClientePrepago> clientes = repCliente.Find("", "").OrderBy(x => x.nameCliente).ToList(); encabezado.nombreReporte = "Reporte de Compras Consolidado"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = "Todos"; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.modotransaccionReporte = modotrans; foreach (ClientePrepago c in clientes) { TotalCompras = 0; List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(c.idCliente, "", "", "", "", "").OrderBy(x => x.Afiliado.id).ToList(); if (beneficiarios.Count != 0) { using (CardsEntities db = new CardsEntities()) { foreach (BeneficiarioPrepagoIndex b in beneficiarios) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); consulta = db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO).ToList(); if (modotrans == "Offline") { consulta = consulta.Where(x => x.ISODESCRIPTION.Contains("offline")).ToList(); } else if (modotrans == "En Linea") { consulta = consulta.Where(x => !x.ISODESCRIPTION.Contains("offline")).ToList(); } foreach (PLZ_GETREPORT_Result fila in consulta) { TotalCompras = TotalCompras + fila.SALDO.Value; } } //NO INCLUYO CLIENTES SIN COMPRAS if (TotalCompras != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Cliente = c }, monto = TotalCompras, tipo = "145-Compra", Encabezado = encabezado }; reporte.Add(linea); } } } } } #endregion if (reporte.Count == 0) { linea = new ReportePrepago() { Encabezado = encabezado }; reporte.Add(linea); } return reporte; }
public List<ReportePrepago> ReporteComprasxCliente(string tiporeporte, string fechadesde, string fechahasta, string modotrans, int idCliente = 0) { string fechasdesdemod = fechadesde.Substring(6, 4) + fechadesde.Substring(3, 2) + fechadesde.Substring(0, 2); string fechahastamod = fechahasta.Substring(6, 4) + fechahasta.Substring(3, 2) + fechahasta.Substring(0, 2); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); #region Por Cliente específico if (tiporeporte == "uno") { List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(idCliente, "", "", "", "", "").OrderBy(x => x.Afiliado.id).ToList(); encabezado.nombreReporte = "Reporte de Compras"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = beneficiarios.First().Cliente.rifCliente + " " + beneficiarios.First().Cliente.nameCliente; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.modotransaccionReporte = modotrans; foreach (BeneficiarioPrepagoIndex b in beneficiarios) { //string movimientosPrepagoJson = WSL.Cards.getReport(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO); //if (WSL.Cards.ExceptionServicioCards(movimientosPrepagoJson)) //{ // return null; //} //List<Movimiento> movimientosPrepago = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosPrepagoJson).OrderBy(x => x.fecha).ToList(); List<Movimiento> movimientosPrepago = new List<Movimiento>(); using (CardsEntities db = new CardsEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); foreach (PLZ_GETREPORT_Result fila in db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO)) { if (fila.TRANSCODE.Value.ToString() != Globals.TRANSCODE_CONSULTA_DE_SALDO) { Movimiento mov = new Movimiento() { fecha = fila.FECHA, batchtime = fila.BATCHTIME, saldo = fila.SALDO.Value, isodescription = fila.ISODESCRIPTION, transcode = fila.TRANSCODE.ToString(), transname = fila.TRANSNAME, pan = fila.PAN, batchid = fila.BATCHID }; movimientosPrepago.Add(mov); } } } foreach (Movimiento m in movimientosPrepago) { ReportePrepago linea = new ReportePrepago() { Beneficiario = b, fecha = DateTime.ParseExact(m.fecha.Substring(6, 2) + "/" + m.fecha.Substring(4, 2) + "/" + m.fecha.Substring(0, 4), "dd/MM/yyyy", CultureInfo.InvariantCulture), monto = Convert.ToDecimal(m.saldo), detalle = m.isodescription, tipo = m.transcode + "-" + m.transname, numerotarjeta = Convert.ToDecimal(m.pan), batchid = m.batchid.ToString(), Encabezado = encabezado }; if (modotrans == "En Linea") { if (!linea.detalle.Contains("offline")) { reporte.Add(linea); } } else if (modotrans == "Offline") { if (linea.detalle.Contains("offline")) { reporte.Add(linea); } } else { reporte.Add(linea); } } } } #endregion #region Todos los Clientes else if (tiporeporte == "todos") { ClientePrepagoRepository repCliente = new ClientePrepagoRepository(); List<ClientePrepago> clientes = repCliente.Find("", "").OrderBy(x => x.idCliente).ToList(); encabezado.nombreReporte = "Reporte de Compras"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = "Todos"; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.modotransaccionReporte = modotrans; foreach (ClientePrepago c in clientes) { List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(c.idCliente, "", "", "", "", "").OrderBy(x => x.Afiliado.id).ToList(); foreach (BeneficiarioPrepagoIndex b in beneficiarios) { //string movimientosPrepagoJson = WSL.Cards.getReport(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO); //if (WSL.Cards.ExceptionServicioCards(movimientosPrepagoJson)) //{ // return null; //} //List<Movimiento> movimientosPrepago = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosPrepagoJson).OrderBy(x => x.fecha).ToList(); List<Movimiento> movimientosPrepago = new List<Movimiento>(); using (CardsEntities db = new CardsEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("Cards"); foreach (PLZ_GETREPORT_Result fila in db.PLZ_GETREPORT(fechasdesdemod, fechahastamod, b.Afiliado.docnumber.Substring(2), "NULL", Globals.TRANSCODE_COMPRA_PREPAGO)) { if (fila.TRANSCODE.Value.ToString() != Globals.TRANSCODE_CONSULTA_DE_SALDO) { Movimiento mov = new Movimiento() { fecha = fila.FECHA, batchtime = fila.BATCHTIME, saldo = fila.SALDO.Value, isodescription = fila.ISODESCRIPTION, transcode = fila.TRANSCODE.ToString(), transname = fila.TRANSNAME, pan = fila.PAN, batchid = fila.BATCHID }; movimientosPrepago.Add(mov); } } } foreach (Movimiento m in movimientosPrepago) { ReportePrepago linea = new ReportePrepago() { Beneficiario = b, fecha = DateTime.ParseExact(m.fecha.Substring(6, 2) + "/" + m.fecha.Substring(4, 2) + "/" + m.fecha.Substring(0, 4), "dd/MM/yyyy", CultureInfo.InvariantCulture), monto = Convert.ToDecimal(m.saldo), detalle = m.isodescription, tipo = m.transcode + "-" + m.transname, numerotarjeta = Convert.ToDecimal(m.pan), batchid = m.batchid.ToString(), Encabezado = encabezado }; if (modotrans == "En Linea") { if (!linea.detalle.Contains("offline")) { reporte.Add(linea); } } else if (modotrans == "Offline") { if (linea.detalle.Contains("offline")) { reporte.Add(linea); } } else { reporte.Add(linea); } } } } } #endregion if (reporte.Count == 0) { ReportePrepago r = new ReportePrepago() { Encabezado = encabezado }; reporte.Add(r); } return reporte.OrderBy(x => x.fecha).ToList(); }