//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; }
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; }