public int Contar(Expression <Func <T, bool> > where) { using (var db = new AplicacionDbContext()) { return(db.Set <T>().Where(where).Count()); } }
public T ObtenerPorId(int id, ParametrosDeQuery <T> parametrosDeQuery) { var include = (parametrosDeQuery.Include); using (var db = new AplicacionDbContext()) { return(db.Set <T>().Include(include).FirstOrDefault(x => x.Id == id)); } }
public IEnumerable <T> EncontrarPor(ParametrosDeQuery <T> parametrosDeQuery) { var orderByClass = ObtenerOrderBy(parametrosDeQuery); Expression <Func <T, bool> > whereTrue = x => true; var where = (parametrosDeQuery.Where == null) ? whereTrue : parametrosDeQuery.Where; var include = (parametrosDeQuery.Include); using (AplicacionDbContext db = new AplicacionDbContext()) { if (orderByClass.IsAscending) { return(db.Set <T>().Include(include).Where(where).OrderBy(orderByClass.OrderBy) .Skip((parametrosDeQuery.Pagina - 1) * parametrosDeQuery.Top) .Take(parametrosDeQuery.Top).ToList()); } else { return(db.Set <T>().Include(include).Where(where).OrderByDescending(orderByClass.OrderBy) .Skip((parametrosDeQuery.Pagina - 1) * parametrosDeQuery.Top) .Take(parametrosDeQuery.Top).ToList()); } } }