public ActionResult FilterReporteTarjetas() { ReportePrepago reporte = new ReportePrepago(); reporte.ListaClientes = repBeneficiario.GetClientes(); reporte.ListaClientes.Insert(0, new PrepaidCustomer { id = 0, name = "" }); return View(reporte); }
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> ReporteRecargasDetallado(string tiporeporte, string fechadesde, string fechahasta, int idCliente, string referencia, string observaciones) { //para filtrar las fechas DateTime desde = DateTime.ParseExact(fechadesde, "dd/MM/yyyy", CultureInfo.InvariantCulture); DateTime hasta = DateTime.ParseExact(fechahasta, "dd/MM/yyyy", CultureInfo.InvariantCulture).AddDays(1); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); ReportePrepago linea = new ReportePrepago(); using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); #region Por Cliente específico, Detallado por Beneficiario if (tiporeporte == "detallado") { ClientePrepago cliente = repCliente.Find(idCliente); encabezado.nombreReporte = "Reporte de Recargas Detallado"; encabezado.tipodetalleReporte = "Detallado por Beneficiario"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = cliente.rifCliente + " " + cliente.nameCliente; ; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.documentoreferenciaReporte = referencia; encabezado.observacionesReporte = observaciones; var queryreporte = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid join a in db.Affiliates on od.customerid equals a.id join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where o.prepaidcustomerid == idCliente && (o.comments == "Orden de Anulación de Recarga" || o.comments.Contains("Orden de Recarga")) && s.name == "Procesada" && (od.comments == "Recarga efectiva" || od.comments.Contains("Anulación efectiva")) && (o.processdate >= desde && o.processdate < hasta) select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 } }, fecha = o.processdate, monto = od.amount, detalle = od.comments, //usare el tipo para guardar el tipo de Orden y determinar el tipo de movimiento tipo = o.comments, batchid = od.cardsresponse, nroordenrecarga = o.id, referenciarecarga = o.documento, observacionesrecarga = o.observaciones//, }).ToList(); //filtado por referencia u observaciones if (referencia != "") { queryreporte = queryreporte.Where(x => x.referenciarecarga == referencia).ToList(); } else if (observaciones != "") { queryreporte = queryreporte.Where(x => x.observacionesrecarga.Contains(observaciones)).ToList(); } //armo lineas del reporte foreach (var q in queryreporte) { if (q.tipo == "Orden de Anulación de Recarga") { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = q.Beneficiario.Afiliado, Cliente = repCliente.Find(idCliente) }, fecha = q.fecha, monto = q.monto * -1, detalle = q.detalle, tipo = "161-Anulación", numerotarjeta = q.numerotarjeta, batchid = q.batchid, nroordenrecarga = q.nroordenrecarga, referenciarecarga = q.referenciarecarga, observacionesrecarga = q.observacionesrecarga, Encabezado = encabezado }; reporte.Add(linea); } else { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = q.Beneficiario.Afiliado, Cliente = repCliente.Find(idCliente) }, fecha = q.fecha, monto = q.monto, detalle = q.detalle, tipo = "200-Recarga", numerotarjeta = q.numerotarjeta, batchid = q.batchid, nroordenrecarga = q.nroordenrecarga, referenciarecarga = q.referenciarecarga, observacionesrecarga = q.observacionesrecarga, Encabezado = encabezado }; reporte.Add(linea); } } reporte = reporte.OrderBy(x => x.fecha).ToList(); } #endregion #region Por Cliente específico, Consolidado por Beneficiario else if (tiporeporte == "consolidado") { ClientePrepago cliente = repCliente.Find(idCliente); encabezado.nombreReporte = "Reporte de Recargas Detallado"; encabezado.tipodetalleReporte = "Consolidado por Beneficiario"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = cliente.rifCliente + " " + cliente.nameCliente; ; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.documentoreferenciaReporte = referencia; encabezado.observacionesReporte = observaciones; var queryreporte = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid join a in db.Affiliates on od.customerid equals a.id join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where o.prepaidcustomerid == idCliente && (o.comments == "Orden de Anulación de Recarga" || o.comments.Contains("Orden de Recarga")) && s.name == "Procesada" && (od.comments == "Recarga efectiva" || od.comments.Contains("Anulación efectiva")) && (o.processdate >= desde && o.processdate < hasta) group od by new { o.prepaidcustomerid, a.docnumber, c.NOMBRE_CLIENTE1, c.APELLIDO_CLIENTE1, o.comments, o.documento, o.observaciones } into g select new { Afiliado = new AfiliadoSumaIndex() { docnumber = g.Key.docnumber, name = g.Key.NOMBRE_CLIENTE1, lastname1 = g.Key.APELLIDO_CLIENTE1 }, Cliente = g.Key.prepaidcustomerid, ClaseOrden = g.Key.comments, Total = g.Sum(x => x.amount), Referencia = g.Key.documento, Observaciones = g.Key.observaciones }).OrderBy(x => x.Afiliado.docnumber).ToList(); if (referencia != "") { queryreporte = queryreporte.Where(x => x.Referencia == referencia).ToList(); } else if (observaciones != "") { queryreporte = queryreporte.Where(x => x.Observaciones.Contains(observaciones)).ToList(); } //armo lineas del reporte foreach (var doc in queryreporte.Select(d => d.Afiliado.docnumber).Distinct()) { decimal TotalRecargas = 0; decimal TotalAnulaciones = 0; foreach (var q in queryreporte.Where(s => s.Afiliado.docnumber == doc)) { if (q.ClaseOrden == "Orden de Anulación de Recarga") { TotalAnulaciones = TotalAnulaciones + q.Total; } else { TotalRecargas = TotalRecargas + q.Total; } } //NO INCLUYO BENEFICIARIOS SIN RECARGAS if (TotalRecargas != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = repAfiliado.Find(doc, "", "", "", "").First(), Cliente = repCliente.Find(idCliente) }, monto = TotalRecargas, tipo = "200-Recarga", Encabezado = encabezado }; reporte.Add(linea); } //NO INCLUYO BENEFICIARIOS SIN ANULACIONES if (TotalAnulaciones != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = repAfiliado.Find(doc, "", "", "", "").First(), Cliente = repCliente.Find(idCliente) }, monto = TotalAnulaciones * -1, tipo = "161-Anulación", Encabezado = encabezado }; reporte.Add(linea); } } } #endregion } if (reporte.Count == 0) { linea = new ReportePrepago() { Encabezado = encabezado }; reporte.Add(linea); } return reporte; }
public List<ReportePrepago> ReporteRecargasConsolidado(string tiporeporte, string fechadesde, string fechahasta, int idCliente, string referencia, string observaciones) { //para filtrar las fechas DateTime desde = DateTime.ParseExact(fechadesde, "dd/MM/yyyy", CultureInfo.InvariantCulture); DateTime hasta = DateTime.ParseExact(fechahasta, "dd/MM/yyyy", CultureInfo.InvariantCulture).AddDays(1); List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); ReportePrepago linea = new ReportePrepago(); decimal TotalRecargas = 0; decimal TotalAnulaciones = 0; using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); #region Por Cliente específico if (tiporeporte == "uno") { ClientePrepago c = repCliente.Find(idCliente); encabezado.nombreReporte = "Reporte de Recargas Consolidado"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = c.rifCliente + " " + c.nameCliente; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.documentoreferenciaReporte = referencia; encabezado.observacionesReporte = observaciones; //busco movimientos de recaga y anulación de recarga var queryTotalRecargas = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid //join a in db.Affiliates on od.customerid equals a.id //join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where o.prepaidcustomerid == idCliente && (o.comments == "Orden de Anulación de Recarga" || o.comments.Contains("Orden de Recarga")) && s.name == "Procesada" && (od.comments == "Recarga efectiva" || od.comments.Contains("Anulación efectiva")) && (o.processdate >= desde && o.processdate < hasta) group od by new { o.prepaidcustomerid, o.comments, o.processdate, o.documento, o.observaciones } into g select new { FechaProcesado = g.Key.processdate, Cliente = g.Key.prepaidcustomerid, ClaseOrden = g.Key.comments, Total = g.Sum(x => x.amount), Referencia = g.Key.documento, Observaciones = g.Key.observaciones }).ToList(); //filtado por referencia u observaciones if (referencia != "") { queryTotalRecargas = queryTotalRecargas.Where(x => x.Referencia == referencia).ToList(); } else if (observaciones != "") { queryTotalRecargas = queryTotalRecargas.Where(x => x.Observaciones.Contains(observaciones)).ToList(); } //armo lineas del reporte foreach (var q in queryTotalRecargas) { if (q.ClaseOrden == "Orden de Anulación de Recarga") { TotalAnulaciones = TotalAnulaciones + q.Total; } else { TotalRecargas = TotalRecargas + q.Total; } } //NO INCLUYO CLIENTES SIN RECARGAS if (TotalRecargas != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Cliente = repCliente.Find(idCliente) }, monto = TotalRecargas, tipo = "200-Recarga", Encabezado = encabezado }; reporte.Add(linea); } //NO INCLUYO CLIENETS SIN ANULACIONES if (TotalAnulaciones != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Cliente = repCliente.Find(idCliente) }, monto = TotalAnulaciones * -1, tipo = "161-Anulación", 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 Recargas Consolidado"; encabezado.tipoconsultaReporte = "Por Cliente"; encabezado.parametrotipoconsultaReporte = "Todos"; encabezado.fechainicioReporte = fechadesde; encabezado.fechafinReporte = fechahasta; encabezado.documentoreferenciaReporte = referencia; encabezado.observacionesReporte = observaciones; foreach (ClientePrepago c in clientes) { TotalRecargas = 0; TotalAnulaciones = 0; //busco movimientos de recaga y anulación de recarga var queryTotalRecargas = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid //join a in db.Affiliates on od.customerid equals a.id //join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where o.prepaidcustomerid == c.idCliente && (o.comments == "Orden de Anulación de Recarga" || o.comments.Contains("Orden de Recarga")) && s.name == "Procesada" && (od.comments == "Recarga efectiva" || od.comments.Contains("Anulación efectiva")) && (o.processdate >= desde && o.processdate < hasta) group od by new { o.prepaidcustomerid, o.comments, o.processdate, o.documento, o.observaciones } into g select new { FechaProcesado = g.Key.processdate, Cliente = g.Key.prepaidcustomerid, ClaseOrden = g.Key.comments, Total = g.Sum(x => x.amount), Referencia = g.Key.documento, Observaciones = g.Key.observaciones }).ToList(); //filtado por referencia u observaciones if (referencia != "") { queryTotalRecargas = queryTotalRecargas.Where(x => x.Referencia == referencia).ToList(); } else if (observaciones != "") { queryTotalRecargas = queryTotalRecargas.Where(x => x.Observaciones.Contains(observaciones)).ToList(); } //armo lineas del reporte foreach (var q in queryTotalRecargas) { if (q.ClaseOrden == "Orden de Anulación de Recarga") { TotalAnulaciones = TotalAnulaciones + q.Total; } else { TotalRecargas = TotalRecargas + q.Total; } } //NO INCLUYO CLIENTES SIN RECARGAS if (TotalRecargas != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Cliente = c }, monto = TotalRecargas, tipo = "200-Recarga", Encabezado = encabezado }; reporte.Add(linea); } //NO INCLUYO CLIENTES SIN ANULACIONES if (TotalAnulaciones != 0) { linea = new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Cliente = c }, monto = TotalAnulaciones * -1, tipo = "161-Anulación", 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> 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> ReporteRecargasxBeneficiario(string tiporeporte, string fechadesde, string fechahasta, string numdoc = "", string referencia = "") { List<ReportePrepago> reporte = new List<ReportePrepago>(); EncabezadoReporte encabezado = new EncabezadoReporte(); string textoparametro; using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); #region Por Beneficiario específico if (tiporeporte == "uno") { List<BeneficiarioPrepagoIndex> beneficiarios = Find(numdoc, "", "", "", ""); if (beneficiarios.Count == 0) { textoparametro = numdoc; } else { textoparametro = beneficiarios.First().Afiliado.docnumber + " " + beneficiarios.First().Afiliado.name + " " + beneficiarios.First().Afiliado.lastname1; if (referencia == "") { reporte = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid join a in db.Affiliates on od.customerid equals a.id join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where a.docnumber == numdoc && s.name == "Procesada" && od.comments == "Recarga efectiva" select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = p.id, nameCliente = p.name } }, fecha = o.processdate, monto = od.amount, detalle = od.comments, tipo = "200-Recarga", batchid = od.cardsresponse, nroordenrecarga = o.id, referenciarecarga = o.documento, observacionesrecarga = o.observaciones, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Recargas", tipoconsultaReporte = "Por Beneficiario", parametrotipoconsultaReporte = textoparametro, fechainicioReporte = fechadesde, fechafinReporte = fechahasta, documentoreferenciaReporte = referencia } }).ToList(); } else { reporte = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid join a in db.Affiliates on od.customerid equals a.id join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where a.docnumber == numdoc && s.name == "Procesada" && o.documento == referencia && od.comments == "Recarga efectiva" select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = p.id, nameCliente = p.name } }, fecha = o.processdate, monto = od.amount, detalle = od.comments, tipo = "200-Recarga", batchid = od.cardsresponse, nroordenrecarga = o.id, referenciarecarga = o.documento, observacionesrecarga = o.observaciones, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Recargas", tipoconsultaReporte = "Por Beneficiario", parametrotipoconsultaReporte = textoparametro, fechainicioReporte = fechadesde, fechafinReporte = fechahasta, documentoreferenciaReporte = referencia } }).ToList(); } } if (reporte.Count() == 0) { ReportePrepago r = new ReportePrepago() { Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Recargas", tipoconsultaReporte = "Por Beneficiario", parametrotipoconsultaReporte = textoparametro, fechainicioReporte = fechadesde, fechafinReporte = fechahasta, documentoreferenciaReporte = referencia } }; reporte.Add(r); } } #endregion #region Todos los Beneficiarios else if (tiporeporte == "todos") { if (referencia == "") { reporte = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid join a in db.Affiliates on od.customerid equals a.id join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where s.name == "Procesada" && od.comments == "Recarga efectiva" select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = p.id, nameCliente = p.name } }, fecha = o.processdate, monto = od.amount, detalle = od.comments, tipo = "200-Recarga", batchid = od.cardsresponse, nroordenrecarga = o.id, referenciarecarga = o.documento, observacionesrecarga = o.observaciones, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Recargas", tipoconsultaReporte = "Por Beneficiario", parametrotipoconsultaReporte = "Todos", fechainicioReporte = fechadesde, fechafinReporte = fechahasta, documentoreferenciaReporte = referencia } }).ToList(); } else { reporte = (from o in db.Orders join od in db.OrdersDetails on o.id equals od.orderid join a in db.Affiliates on od.customerid equals a.id join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on o.sumastatusid equals s.id join p in db.PrepaidCustomers on o.prepaidcustomerid equals p.id where s.name == "Procesada" && o.documento == referencia && od.comments == "Recarga efectiva" select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = p.id, nameCliente = p.name } }, fecha = o.processdate, monto = od.amount, detalle = od.comments, tipo = "200-Recarga", batchid = od.cardsresponse, nroordenrecarga = o.id, referenciarecarga = o.documento, observacionesrecarga = o.observaciones, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Recargas", tipoconsultaReporte = "Por Beneficiario", parametrotipoconsultaReporte = "Todos", fechainicioReporte = fechadesde, fechafinReporte = fechahasta, documentoreferenciaReporte = referencia } }).ToList(); } if (reporte.Count() == 0) { ReportePrepago r = new ReportePrepago() { Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Recargas", tipoconsultaReporte = "Por Beneficiario", parametrotipoconsultaReporte = "Todos", fechainicioReporte = fechadesde, fechafinReporte = fechahasta, documentoreferenciaReporte = referencia } }; reporte.Add(r); } } #endregion } DateTime desde = DateTime.ParseExact(fechadesde, "dd/MM/yyyy", CultureInfo.InvariantCulture); DateTime hasta = DateTime.ParseExact(fechahasta, "dd/MM/yyyy", CultureInfo.InvariantCulture); return reporte.Where(x => x.fecha.Date >= desde && x.fecha.Date <= hasta).OrderBy(x => x.fecha).ToList(); }
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(); }
public List<ReportePrepago> ReporteTarjetasxCliente(string tiporeporte, string fechadesde, string fechahasta, int idCliente = 0, string estadoTarjeta = "") { List<ReportePrepago> reporte = new List<ReportePrepago>(); using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); #region Por Cliente específico if (tiporeporte == "uno") { if (estadoTarjeta == "") { reporte = (from a in db.Affiliates join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on a.sumastatusid equals s.id join t in db.Types on a.typeid equals t.id join b in db.PrepaidBeneficiaries on a.id equals b.affiliateid join p in db.PrepaidCustomers on b.prepaidcustomerid equals p.id join tar in db.TARJETAS on a.id equals tar.NRO_AFILIACION where p.id == idCliente select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = idCliente, nameCliente = p.name } }, fecha = tar.FECHA_CREACION == null ? new DateTime() : tar.FECHA_CREACION.Value, numerotarjeta = tar.NRO_TARJETA, estatustarjeta = tar.ESTATUS_TARJETA, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Tarjetas", tipoconsultaReporte = "Por Cliente", parametrotipoconsultaReporte = p.rif + " " + p.name, fechainicioReporte = fechadesde, fechafinReporte = fechahasta, estatustarjetaReporte = "Todos" } }).ToList(); } else { reporte = (from a in db.Affiliates join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on a.sumastatusid equals s.id join t in db.Types on a.typeid equals t.id join b in db.PrepaidBeneficiaries on a.id equals b.affiliateid join p in db.PrepaidCustomers on b.prepaidcustomerid equals p.id join tar in db.TARJETAS on a.id equals tar.NRO_AFILIACION where p.id == idCliente && tar.ESTATUS_TARJETA == estadoTarjeta select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = idCliente, nameCliente = p.name } }, fecha = tar.FECHA_CREACION == null ? new DateTime() : tar.FECHA_CREACION.Value, numerotarjeta = tar.NRO_TARJETA, estatustarjeta = tar.ESTATUS_TARJETA, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Tarjetas", tipoconsultaReporte = "Por Cliente", parametrotipoconsultaReporte = p.rif + " " + p.name, fechainicioReporte = fechadesde, fechafinReporte = fechahasta, estatustarjetaReporte = estadoTarjeta } }).ToList(); } if (reporte.Count() == 0) { ClientePrepagoRepository repCliente = new ClientePrepagoRepository(); ClientePrepago Cliente = repCliente.Find(idCliente); ReportePrepago r = new ReportePrepago() { Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Tarjetas", tipoconsultaReporte = "Por Cliente", parametrotipoconsultaReporte = Cliente.rifCliente + " " + Cliente.nameCliente, fechainicioReporte = fechadesde, fechafinReporte = fechahasta, estatustarjetaReporte = estadoTarjeta } }; reporte.Add(r); } } #endregion #region Todos los Clientes else if (tiporeporte == "todos") { if (estadoTarjeta == "") { reporte = (from a in db.Affiliates join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on a.sumastatusid equals s.id join t in db.Types on a.typeid equals t.id join b in db.PrepaidBeneficiaries on a.id equals b.affiliateid join p in db.PrepaidCustomers on b.prepaidcustomerid equals p.id join tar in db.TARJETAS on a.id equals tar.NRO_AFILIACION select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = idCliente, nameCliente = p.name } }, fecha = tar.FECHA_CREACION == null ? new DateTime() : tar.FECHA_CREACION.Value, numerotarjeta = tar.NRO_TARJETA, estatustarjeta = tar.ESTATUS_TARJETA, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Tarjetas", tipoconsultaReporte = "Por Cliente", parametrotipoconsultaReporte = "Todos", fechainicioReporte = fechadesde, fechafinReporte = fechahasta, estatustarjetaReporte = "Todos" } }).ToList(); } else { reporte = (from a in db.Affiliates join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join s in db.SumaStatuses on a.sumastatusid equals s.id join t in db.Types on a.typeid equals t.id join b in db.PrepaidBeneficiaries on a.id equals b.affiliateid join p in db.PrepaidCustomers on b.prepaidcustomerid equals p.id join tar in db.TARJETAS on a.id equals tar.NRO_AFILIACION where tar.ESTATUS_TARJETA == estadoTarjeta select new ReportePrepago() { Beneficiario = new BeneficiarioPrepagoIndex() { Afiliado = new AfiliadoSumaIndex() { docnumber = a.docnumber, name = c.NOMBRE_CLIENTE1, lastname1 = c.APELLIDO_CLIENTE1 }, Cliente = new ClientePrepago() { idCliente = idCliente, nameCliente = p.name } }, fecha = tar.FECHA_CREACION == null ? new DateTime() : tar.FECHA_CREACION.Value, numerotarjeta = tar.NRO_TARJETA, estatustarjeta = tar.ESTATUS_TARJETA, Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Tarjetas", tipoconsultaReporte = "Por Cliente", parametrotipoconsultaReporte = "Todos", fechainicioReporte = fechadesde, fechafinReporte = fechahasta, estatustarjetaReporte = estadoTarjeta } }).ToList(); } if (reporte.Count() == 0) { ClientePrepagoRepository repCliente = new ClientePrepagoRepository(); ClientePrepago Cliente = repCliente.Find(idCliente); ReportePrepago r = new ReportePrepago() { Encabezado = new EncabezadoReporte() { nombreReporte = "Reporte de Tarjetas", tipoconsultaReporte = "Por Cliente", parametrotipoconsultaReporte = "Todos", fechainicioReporte = fechadesde, fechafinReporte = fechahasta, estatustarjetaReporte = estadoTarjeta } }; reporte.Add(r); } } #endregion } DateTime desde = DateTime.ParseExact(fechadesde, "dd/MM/yyyy", CultureInfo.InvariantCulture); DateTime hasta = DateTime.ParseExact(fechahasta, "dd/MM/yyyy", CultureInfo.InvariantCulture); return reporte.Where(x => x.fecha.Date >= desde && x.fecha.Date <= hasta).OrderBy(x => x.fecha).ToList(); }
public ActionResult FilterReporteTransaccionesSuma() { ReportePrepago reporte = new ReportePrepago(); return View(reporte); }
public ActionResult ReporteTransaccionesSuma(string TipoTransaccion, string fechadesde, string fechahasta, string numdoc) { List<ReportePrepago> reporte = new List<ReportePrepago>(); reporte = repReportes.ReporteTransaccionesSuma(TipoTransaccion, fechadesde, fechahasta, numdoc); ParametrosReporte p = new ParametrosReporte() { TipoTransaccion = TipoTransaccion, fechadesde = fechadesde, fechahasta = fechahasta, numdoc = numdoc }; if (reporte.Count == 0) { ReportePrepago r = new ReportePrepago() { Parametros = p }; reporte.Add(r); } else { reporte.First().Parametros = p; } return View(reporte); }
public ActionResult ReporteTarjetas(string fechadesde, string fechahasta, int idCliente = 0, string estadoTarjeta = "") { List<ReportePrepago> reporte = new List<ReportePrepago>(); if (idCliente == 0) { //reporte = repReportes.Tarjetas("todos", fechadesde, fechahasta, idCliente, estadoTarjeta); } else { //reporte = repReportes.Tarjetas("uno", fechadesde, fechahasta, idCliente, estadoTarjeta); } ParametrosReporte p = new ParametrosReporte() { fechadesde = fechadesde, fechahasta = fechahasta, idCliente = idCliente, estatusTarjeta = estadoTarjeta }; if (reporte.Count == 0) { ReportePrepago r = new ReportePrepago() { Parametros = p }; reporte.Add(r); } else { reporte.First().Parametros = p; } return View(reporte); }
public ActionResult ReporteRecargasDetallado(string TipoDetalle, string fechadesde, string fechahasta, int idCliente, string Referencia = "", string Observaciones = "") { List<ReportePrepago> reporte = new List<ReportePrepago>(); if (TipoDetalle == "Consolidado por Beneficiario") { reporte = repReportes.ReporteRecargasDetallado("consolidado", fechadesde, fechahasta, idCliente, Referencia, Observaciones); } else { reporte = repReportes.ReporteRecargasDetallado("detallado", fechadesde, fechahasta, idCliente, Referencia, Observaciones); } ParametrosReporte p = new ParametrosReporte() { TipoDetalle = TipoDetalle, fechadesde = fechadesde, fechahasta = fechahasta, idCliente = idCliente, referencia = Referencia, observaciones = Observaciones }; if (reporte.Count == 0) { ReportePrepago r = new ReportePrepago() { Parametros = p }; reporte.Add(r); } else { reporte.First().Parametros = p; } return View(reporte); }
public ActionResult ReporteComprasDetallado(string TipoDetalle, string ModoTransaccion, string fechadesde, string fechahasta, int idCliente) { List<ReportePrepago> reporte = new List<ReportePrepago>(); if (TipoDetalle == "Consolidado por Beneficiario") { reporte = repReportes.ReporteDeComprasDetallado("consolidado", fechadesde, fechahasta, ModoTransaccion, idCliente); } else { reporte = repReportes.ReporteDeComprasDetallado("detallado", fechadesde, fechahasta, ModoTransaccion, idCliente); } ParametrosReporte p = new ParametrosReporte() { TipoDetalle = TipoDetalle, ModoTransaccion = ModoTransaccion, fechadesde = fechadesde, fechahasta = fechahasta, idCliente = idCliente, }; if (reporte.Count == 0) { ReportePrepago r = new ReportePrepago() { Parametros = p }; reporte.Add(r); } else { reporte.First().Parametros = p; } return View(reporte); }
public ActionResult ReporteComprasConsolidado(string ModoTransaccion, string fechadesde, string fechahasta, int idCliente = 0) { List<ReportePrepago> reporte = new List<ReportePrepago>(); if (idCliente == 0) { reporte = repReportes.ReporteDeComprasConsolidado("todos", fechadesde, fechahasta, ModoTransaccion, idCliente); } else { reporte = repReportes.ReporteDeComprasConsolidado("uno", fechadesde, fechahasta, ModoTransaccion, idCliente); } ParametrosReporte p = new ParametrosReporte() { ModoTransaccion = ModoTransaccion, fechadesde = fechadesde, fechahasta = fechahasta, idCliente = idCliente, }; if (reporte.Count == 0) { ReportePrepago r = new ReportePrepago() { Parametros = p }; reporte.Add(r); } else { reporte.First().Parametros = p; } return View(reporte); }