public HttpResponseMessage pago(Transaccion pago) { Response resp = new Response(); coreContext contexto = new coreContext(); Session.FijarContexto(contexto); bool procesado = false; using (var contextoTransaccion = contexto.Database.BeginTransaction()) { try { tpagmovimiento mov = TpagMovimientoDal.crear(1, pago.cuentaorg, pago.cuentadest, pago.monto); procesado = TpagCuentaDal.crear(mov); contexto.SaveChanges(); contextoTransaccion.Commit(); resp.mensaje = "PROCESADO CORRECTAMENTE"; } catch (Exception ex) { resp.status = 400; resp.mensaje = ex.Message; contextoTransaccion.Rollback(); } finally { Session.CerrarContexto(contexto); } } return(GetResponse(procesado)); }
public static long id() { coreContext contexto = Session.GetContexto(); long dato = 0; tpagmovimiento eval = contexto.tpagmovimiento.OrderByDescending(x => x.cmovimiento).FirstOrDefault(); if (eval != null) { long.TryParse(eval.cmovimiento.ToString(), out dato); } return(dato + 1); }
public HttpResponseMessage registro(tsegusuario Usuario) { Response resp = new Response(); tsegusuario us; coreContext contexto = new coreContext(); Session.FijarContexto(contexto); using (var contextoTransaccion = contexto.Database.BeginTransaction()) { try { us = TsegUsuarioDal.busqueda(Usuario.identificacion); if (us == null) { Usuario.cusuario = TsegUsuarioDal.id(); tpagcuenta cuenta = new tpagcuenta(); cuenta.cuenta = TpagCuentaDal.id(); cuenta.cusuario = Usuario.cusuario; cuenta.saldo = 0; cuenta.fultimomov = DateTime.Now; cuenta.moneda = "USD"; cuenta.estado = true; tpagmovimiento mov = TpagMovimientoDal.crear(3, cuenta.cuenta, cuenta.cuenta, 0); Session.Grabar(Usuario); Session.Grabar(cuenta); Session.Grabar(mov); contexto.SaveChanges(); contextoTransaccion.Commit(); resp.mensaje = "CREADO CON ÉXITO"; resp.registro = Usuario; } else { resp.status = 400; resp.mensaje = "EL USUARIO CON ESTA IDENTIFICACIÓN YA EXISTE"; } } catch (Exception ex) { resp.status = 400; resp.mensaje = ex.Message; contextoTransaccion.Rollback(); } } return(GetResponse(resp)); }
public static tpagmovimiento crear(long ctransaccion, long cuentaorg, long cuentades, decimal monto) { coreContext contexto = Session.GetContexto(); tpagmovimiento mov = new tpagmovimiento(); mov.cmovimiento = id(); mov.cuentaorg = cuentaorg; mov.cuentades = cuentades; mov.ctransaccion = ctransaccion; tpagtransaccion tran = TpagTransacccionDal.buscar(ctransaccion); mov.debito = tran.debito.Value; mov.monto = monto; mov.terminal = "MÓVIL"; mov.descripcion = tran.nombre + ". CTA. ORG : " + cuentaorg.ToString() + " A LA CUENTA: " + cuentades.ToString(); mov.fproceso = DateTime.Now; return(mov); }
public static bool crear(tpagmovimiento mov) { coreContext contexto = Session.GetContexto(); tpagcuenta cuentaorg = contexto.tpagcuenta.Where(x => x.cuenta == mov.cuentaorg).FirstOrDefault(); tpagcuenta cuentadest = contexto.tpagcuenta.Where(x => x.cuenta == mov.cuentades).FirstOrDefault(); bool ok = false; if (cuentadest == null) { throw new CoreException("ERROR", "NO EXISTE LA CUENTA DESTINO"); } if (cuentaorg == null) { throw new CoreException("ERROR", "NO EXISTE LA CUENTA ORIGEN"); } if (mov.monto < 0) { throw new CoreException("ERROR", "ERROR EN EL MONTO"); } if (cuentaorg.saldo < mov.monto.Value) { throw new CoreException("ERROR", "SALDO NO DISPONIBLE"); } else { tpagmovimiento movorg = TpagMovimientoDal.crear(1, mov.cuentaorg.Value, mov.cuentades.Value, mov.monto.Value); tpagmovimiento movdest = TpagMovimientoDal.crear(2, mov.cuentades.Value, mov.cuentaorg.Value, mov.monto.Value); movdest.cmovimiento = movorg.cmovimiento + 1; cuentaorg.saldo = cuentaorg.saldo - mov.monto; cuentadest.saldo = cuentadest.saldo + mov.monto; cuentaorg.fultimomov = DateTime.Now; cuentadest.fultimomov = DateTime.Now; Session.Actualizar(cuentaorg); Session.Actualizar(cuentadest); Session.Grabar(movorg); Session.Grabar(movdest); ok = true; } return(ok); }