Ejemplo n.º 1
0
 //busca los saldos y movimientos de las cuentas de un afiliado
 public SaldosMovimientos FindSaldosMovimientos(Afiliado afiliado)
 {
     SaldosMovimientos SaldosMovimientos = new SaldosMovimientos();
     SaldosMovimientos.DocId = afiliado.docnumber;
     string saldosJson = WSL.Cards.getBalance(SaldosMovimientos.DocId.Substring(2));
     if (ExceptionServicioCards(saldosJson))
     {
         return null;
     }
     SaldosMovimientos.Saldos = (List<Saldo>)JsonConvert.DeserializeObject<List<Saldo>>(saldosJson);
     string movimientosPrepagoJson = WSL.Cards.getBatch(SaldosMovimientos.Saldos.First().accounttype, SaldosMovimientos.DocId.Substring(2));
     if (ExceptionServicioCards(movimientosPrepagoJson))
     {
         return null;
     }
     SaldosMovimientos.MovimientosPrepago = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosPrepagoJson);
     List<Movimiento> MovimientosPrepagoOrdenados = SaldosMovimientos.MovimientosPrepago.OrderByDescending(x => x.batchid).ToList();
     SaldosMovimientos.MovimientosPrepago = MovimientosPrepagoOrdenados.Take(3).ToList();
     foreach (Movimiento mov in SaldosMovimientos.MovimientosPrepago)
     {
         mov.fecha = mov.fecha.Substring(6, 2) + "-" + mov.fecha.Substring(4, 2) + "-" + mov.fecha.Substring(0, 4);
     }
     string movimientosLealtadJson = WSL.Cards.getBatch(SaldosMovimientos.Saldos.Skip(1).First().accounttype, SaldosMovimientos.DocId.Substring(2));
     if (ExceptionServicioCards(movimientosLealtadJson))
     {
         return null;
     }
     SaldosMovimientos.MovimientosSuma = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosLealtadJson);
     List<Movimiento> MovimientosSumaOrdenados = SaldosMovimientos.MovimientosSuma.OrderByDescending(x => x.batchid).ToList();
     SaldosMovimientos.MovimientosSuma = MovimientosSumaOrdenados.Take(3).ToList();
     foreach (Movimiento mov in SaldosMovimientos.MovimientosSuma)
     {
         mov.fecha = mov.fecha.Substring(6, 2) + "-" + mov.fecha.Substring(4, 2) + "-" + mov.fecha.Substring(0, 4);
     }
     return SaldosMovimientos;
 }
Ejemplo n.º 2
0
 public SaldosMovimientos FindSaldosMovimientos(AfiliadoSuma afiliado)
 {
     SaldosMovimientos SaldosMovimientos = new SaldosMovimientos();
     SaldosMovimientos.DocId = afiliado.docnumber;
     string saldosJson = WSL.Cards.getBalance(SaldosMovimientos.DocId.Substring(2));
     if (WSL.Cards.ExceptionServicioCards(saldosJson))
     {
         return null;
     }
     SaldosMovimientos.Saldos = (List<Saldo>)JsonConvert.DeserializeObject<List<Saldo>>(saldosJson);
     string movimientosPrepagoJson = WSL.Cards.getBatch(Globals.TIPO_CUENTA_PREPAGO, SaldosMovimientos.DocId.Substring(2));
     if (WSL.Cards.ExceptionServicioCards(movimientosPrepagoJson))
     {
         return null;
     }
     SaldosMovimientos.MovimientosPrepago = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosPrepagoJson);
     List<Movimiento> MovimientosPrepagoOrdenados = SaldosMovimientos.MovimientosPrepago.OrderByDescending(x => x.batchid).ToList();
     SaldosMovimientos.MovimientosPrepago = MovimientosPrepagoOrdenados.Take(20).ToList();
     foreach (Movimiento mov in SaldosMovimientos.MovimientosPrepago)
     {
         mov.fecha = mov.fecha.Substring(6, 2) + "/" + mov.fecha.Substring(4, 2) + "/" + mov.fecha.Substring(0, 4);
         mov.batchtime = mov.batchtime.Substring(0, 2) + ":" + mov.batchtime.Substring(2, 2) + ":" + mov.batchtime.Substring(4, 2);
         mov.fechahora = DateTime.ParseExact(mov.fecha + " " + mov.batchtime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
         if (mov.transcode == Globals.TRANSCODE_ANULACION_RECARGA_PREPAGO || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_PREPAGO || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_DEBITO_PREPAGO)
         {
             mov.isodescription = mov.isodescription + " (" + mov.b037 + ")";
         }
         if (mov.isodescription.Contains("offline"))
         {
             //buscar info en FueraDeLinea
             using (LealtadEntities db = new LealtadEntities())
             {
                 db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad");
                 string operacion = mov.batchid.ToString();
                 FueraDeLinea f = db.FueraDeLineas.FirstOrDefault(t => t.batchid.Equals(operacion));
                 if (f != null)
                 {
                     string sucursal = afiliado.StoreOptions.Where(c => c.id != null).FirstOrDefault(x => x.id.Equals(f.store_code)).sucursal;
                     mov.isodescription = mov.isodescription + " (origen: " + sucursal + ", motivo: " + f.observaciones + ")";
                 }
             }
         }
     }
     string movimientosLealtadJson = WSL.Cards.getBatch(Globals.TIPO_CUENTA_SUMA, SaldosMovimientos.DocId.Substring(2));
     if (WSL.Cards.ExceptionServicioCards(movimientosLealtadJson))
     {
         return null;
     }
     SaldosMovimientos.MovimientosSuma = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosLealtadJson);
     List<Movimiento> MovimientosSumaOrdenados = SaldosMovimientos.MovimientosSuma.OrderByDescending(x => x.batchid).ToList();
     SaldosMovimientos.MovimientosSuma = MovimientosSumaOrdenados.Take(20).ToList();
     foreach (Movimiento mov in SaldosMovimientos.MovimientosSuma)
     {
         mov.fecha = mov.fecha.Substring(6, 2) + "/" + mov.fecha.Substring(4, 2) + "/" + mov.fecha.Substring(0, 4);
         mov.batchtime = mov.batchtime.Substring(0, 2) + ":" + mov.batchtime.Substring(2, 2) + ":" + mov.batchtime.Substring(4, 2);
         mov.fechahora = DateTime.ParseExact(mov.fecha + " " + mov.batchtime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
         if (mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_SUMA || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_DEBITO_SUMA)
         {
             mov.isodescription = mov.isodescription + " (" + mov.b037 + ")";
         }
         if (mov.transcode == Globals.TRANSCODE_CANJE_SUMA || mov.transcode == Globals.TRANSCODE_TRANSFERENCIA_DEBITO_SUMA || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_SUMA)
         {
             mov.saldo = mov.saldo * Convert.ToInt32(Globals.FACTOR_CANJE);
         }
     }
     return SaldosMovimientos;
 }