Esempio n. 1
0
 internal Usuario ObtenerUsuario(string nombre)
 {
     using (var db = new GastosEntities())
     {
         return((from u in db.Usuarios where u.Nombre.ToLower() == nombre.ToLower() select u).FirstOrDefault());
     }
 }
Esempio n. 2
0
 internal static Usuario ObtenerUsuarioPorId(decimal id)
 {
     using (var db = new GastosEntities())
     {
         return(db.Usuarios.Find(id));
     }
 }
Esempio n. 3
0
 internal static Cuenta ObtenerCuentaPorId(int id)
 {
     using (var db = new GastosEntities())
     {
         return(db.Cuentas.Find(id));
     }
 }
 public static Movimiento ObtenerMovimientoPorId(decimal idMovimiento)
 {
     using (var db = new GastosEntities())
     {
         return(db.Movimientos.Find(idMovimiento));
     }
 }
 public static IEnumerable <Transaccion> ObtenerTransaccionesPorRubro(int idRubro)
 {
     using (var db = new GastosEntities())
     {
         var qry = from t in db.Transacciones where t.IdRubro == idRubro orderby t.Descripcion select t;
         return(qry.ToList());
     }
 }
Esempio n. 6
0
 public static void Actualizar(int id, string descripción)
 {
     using (var db = new GastosEntities())
     {
         var r = db.Rubros.Find(id);
         r.Descripcion = descripción;
         db.SaveChanges();
     }
 }
        public static Transaccion ObtenerTransaccionPorId(int id)
        {
            IEnumerable <Transaccion> query;

            using (var db = new GastosEntities())
            {
                //return db.Set<Transaccion>().Find(id);
                query = (from t in db.Transacciones where t.Id == id select t).ToList();
            }
            return(query.First());
        }
Esempio n. 8
0
 public static IList <Rubro> ObtenerRubros()
 {
     using (var db = new GastosEntities())
     {
         return(db.Rubros.
                ToList().
                Select(r => new Rubro {
             Id = r.Id, Descripcion = r.Descripcion
         }).
                OrderBy(r => r.Descripcion).
                ToList());
     }
 }
Esempio n. 9
0
 internal static void ReiniciarContraseña(int id, string contraseña)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Usuarios.Any(t => t.Id == id))
         {
             throw new Exception("No existe el usuario con Id " + id);
         }
         var u = db.Usuarios.Find(id);
         u.Contraseña = HashPassword(contraseña);
         db.SaveChanges();
     }
 }
Esempio n. 10
0
 public static void Eliminar(int id)
 {
     using (var db = new GastosEntities())
     {
         var rubro = db.Rubros.Find(id);
         if (rubro.Transacciones.Any())
         {
             throw new Exception("No se puede eliminar este rubro: tiene transacciones relacionadas.");
         }
         db.Rubros.Remove(rubro);
         db.SaveChanges();
     }
 }
Esempio n. 11
0
 public static void Insertar(string descripción)
 {
     using (var db = new GastosEntities())
     {
         if (db.Rubros.Any(r => r.Descripcion == descripción))
         {
             throw new Exception("Ya existe el rubro ingresado.");
         }
         db.Rubros.Add(new Rubro {
             Descripcion = descripción
         });
         db.SaveChanges();
     }
 }
Esempio n. 12
0
 internal static void Actualizar(int id, string nombre, string nombreCompleto, byte estado)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Usuarios.Any(t => t.Id == id))
         {
             throw new Exception("No existe el usuario con Id " + id);
         }
         var u = db.Usuarios.Find(id);
         u.Nombre         = nombre.Trim();
         u.NombreCompleto = nombreCompleto.Trim();
         u.Estado         = estado;
         db.SaveChanges();
     }
 }
Esempio n. 13
0
 internal static void Actualizar(int id, string descripción, byte estado, decimal saldoInicial)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Cuentas.Any(t => t.Id == id))
         {
             throw new Exception("No existe la cuenta con Id " + id);
         }
         var cta = db.Cuentas.Find(id);
         cta.Descripcion  = descripción.Trim();
         cta.Estado       = estado;
         cta.SaldoInicial = saldoInicial;
         db.SaveChanges();
     }
 }
 public static void Actualizar(decimal id, int idCuenta, DateTime fecha, int idTransaccion, decimal importe)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Movimientos.Any(t => t.Id == id))
         {
             throw new Exception("No existe el movimiento con Id " + id);
         }
         var m = db.Movimientos.Find(id);
         m.IdCuenta        = idCuenta;
         m.FechaMovimiento = fecha;
         m.IdTransaccion   = idTransaccion;
         m.Importe         = importe;
         db.SaveChanges();
     }
 }
 public static void Actualizar(int id, string descripción, bool esDébito, byte estado, int idRubro)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Transacciones.Any(t => t.Id == id))
         {
             throw new Exception("No existe la transacción con Id " + id);
         }
         var trx = db.Transacciones.Find(id);
         trx.Descripcion = descripción.Trim();
         trx.EsDebito    = esDébito;
         trx.Estado      = estado;
         trx.IdRubro     = idRubro;
         db.SaveChanges();
     }
 }
        public static IList <Models.ViewModels.Movimiento> ObtenerMovimientosPorCuenta(int idCuenta,
                                                                                       DateTime desde, DateTime hasta)
        {
            List <Models.ViewModels.Movimiento> movimientos = null;

            using (var db = new GastosEntities())
            {
                var query = from m in db.Movimientos
                            join t in db.Transacciones on m.IdTransaccion equals t.Id
                            join r in db.Rubros on t.IdRubro equals r.Id
                            where m.IdCuenta == idCuenta &&
                            m.FechaMovimiento >= desde &&
                            m.FechaMovimiento <= hasta
                            orderby m.FechaMovimiento ascending
                            select new Models.ViewModels.Movimiento
                {
                    Fecha        = m.FechaMovimiento,
                    Rubro        = r.Descripcion,
                    Transacción  = t.Descripcion,
                    Contrasiento = m.EsContrasiento,
                    Importe      = t.EsDebito ? -m.Importe : m.Importe,
                    Saldo        = 0,
                    Id           = m.Id
                };
                movimientos = query.ToList();
            }
            //actualizo el saldo a mostrar
            var cta = CuentasRepository.ObtenerCuentaPorId(idCuenta);

            if (cta != null)
            {
                var saldoAnterior = cta.SaldoInicial;
                foreach (var m in movimientos)
                {
                    m.Saldo       = saldoAnterior + m.Importe;
                    saldoAnterior = m.Saldo;
                }
            }

            Log.Debug("Movimientos:");
            using (var w = new System.IO.StringWriter())
            {
                new System.Xml.Serialization.XmlSerializer(movimientos.GetType()).Serialize(w, movimientos);
                Log.Debug(w.ToString());
            }
            return(movimientos);
        }
Esempio n. 17
0
 internal static void Eliminar(int id)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Cuentas.Any(t => t.Id == id))
         {
             throw new Exception("No existe la cuenta con Id " + id);
         }
         var cta = db.Cuentas.Find(id);
         if (cta.Movimientos.Any())
         {
             throw new Exception("No se puede eliminar esta cuenta: tiene transacciones relacionadas.");
         }
         db.Cuentas.Remove(cta);
         db.SaveChanges();
     }
 }
 internal static void Contrasentar(decimal id)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Movimientos.Any(t => t.Id == id))
         {
             throw new Exception("No existe el movimiento con Id " + id);
         }
         var m = db.Movimientos.Find(id);
         if (m.EsContrasiento)
         {
             throw new Exception("No existe el movimiento con Id " + id);
         }
         m.EsContrasiento = true;
         db.SaveChanges();
     }
 }
Esempio n. 19
0
 public static IList <Cuenta> ObtenerCuentas()
 {
     using (var db = new GastosEntities())
     {
         var query = (from c in db.Cuentas select c)
                     .ToList()
                     .Select(
             c => new Cuenta
         {
             Id           = c.Id,
             Descripcion  = c.Descripcion,
             Estado       = c.Estado,
             SaldoInicial = c.SaldoInicial
         });
         return(query.OrderBy(c => c.Descripcion).ToList());
     }
 }
 public static void Eliminar(int id)
 {
     using (var db = new GastosEntities())
     {
         if (!db.Transacciones.Any(t => t.Id == id))
         {
             throw new Exception("No existe la transacción con Id " + id);
         }
         var trx = db.Transacciones.Find(id);
         if (trx.Movimientos.Any())
         {
             throw new Exception("No se puede eliminar esta transacción: tiene transacciones relacionadas.");
         }
         db.Transacciones.Remove(trx);
         db.SaveChanges();
     }
 }
 public static Transaccion Insertar(string descripción, bool esDébito, byte estado, int idRubro)
 {
     using (var db = new GastosEntities())
     {
         if (db.Transacciones.Any(t => t.IdRubro == idRubro && t.Descripcion == descripción))
         {
             throw new Exception("Ya existe esta transacción para este rubro.");
         }
         var trx = new Transaccion
         {
             Descripcion = descripción.Trim(),
             EsDebito    = esDébito,
             Estado      = estado,
             IdRubro     = idRubro
         };
         db.Transacciones.Add(trx);
         db.SaveChanges();
         return(trx);
     }
 }
Esempio n. 22
0
 internal static void Insertar(string descripción, byte estado, decimal saldoInicial)
 {
     using (var db = new GastosEntities())
     {
         if (db.Cuentas.Any(c => c.Descripcion == descripción))
         {
             throw new Exception("Ya existe una cuenta con este nombre.");
         }
         var id  = db.Cuentas.Max(c => c.Id) + 1;
         var cta = new Cuenta
         {
             Id           = id,
             Descripcion  = descripción.Trim(),
             Estado       = estado,
             SaldoInicial = saldoInicial
         };
         db.Cuentas.Add(cta);
         db.SaveChanges();
     }
 }
Esempio n. 23
0
        public static IEnumerable <Usuario> ObtenerUsuarios()
        {
            using (var db = new GastosEntities())
            {
                //var query = (from u in db.Usuarios select u)
                //                .ToList()
                //                .Select(
                //                    u => new Usuario
                //                    {
                //                        Id = u.Id,
                //                        FechaAlta = u.FechaAlta,
                //                        FechaBaja = u.FechaBaja,
                //                        Nombre = u.Nombre,
                //                        NombreCompleto = u.NombreCompleto,
                //                        Estado = u.Estado
                //                    });
                //return query.ToList();

                return((from u in db.Usuarios orderby u.Nombre select u).ToList());
            }
        }
        //private void Loggear<T>(T obj)
        //{
        //    using (var w = new System.IO.StringWriter())
        //    {
        //        new System.Xml.Serialization.XmlSerializer(typeof(T)).Serialize(w, obj);
        //        Log.Debug(w.ToString());
        //    }
        //}

        public static Movimiento Insertar(int idCuenta, DateTime fecha, int idTransaccion, decimal importe)
        {
            using (var db = new GastosEntities())
            {
                //if (db.Cuentas.Any(c => c.Descripcion == descripción))
                //{
                //    throw new Exception("Ya existe esta cuenta con este nombre.");
                //}
                var id = db.Movimientos.Max(c => c.Id) + 1;
                var m  = new Movimiento
                {
                    Id              = id,
                    IdCuenta        = idCuenta,
                    FechaMovimiento = fecha,
                    IdTransaccion   = idTransaccion,
                    Importe         = importe,
                    FechaGrabacion  = Configuration.CurrentDate,
                    IdUsuario       = Session.CurrentUser.Id
                };
                db.Movimientos.Add(m);
                db.SaveChanges();
                return(m);
            }
        }
Esempio n. 25
0
 internal static Usuario Insertar(string nombre, string nombreCompleto, byte estado)
 {
     using (var db = new GastosEntities())
     {
         if (db.Usuarios.Any(c => c.Nombre.ToLower().Trim() == nombre.ToLower().Trim()))
         {
             throw new Exception("Ya existe un usuario con este nombre.");
         }
         var id  = db.Usuarios.Max(c => c.Id) + 1;
         var usr = new Usuario
         {
             Id             = id,
             Nombre         = nombre,
             NombreCompleto = nombreCompleto,
             FechaAlta      = Configuration.CurrentDate,
             Estado         = estado,
             FechaBaja      = estado == 1 ? (DateTime?)null : Configuration.CurrentDate,
             Contraseña     = HashPassword("123456")
         };
         db.Usuarios.Add(usr);
         db.SaveChanges();
         return(usr);
     }
 }