コード例 #1
0
ファイル: PagoController.cs プロジェクト: jmcuenca/pagafacil
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: LoginController.cs プロジェクト: jmcuenca/pagafacil
        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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }