public IEnumerable <TEntity> GetMany(Expression <Func <TEntity, bool> > where, Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null, Func <IQueryable <TEntity>, IIncludableQueryable <TEntity, object> > includeProperties = null, IPaginationModel paging = null) { IQueryable <TEntity> query = Dbset; query = query.Where(where); if (includeProperties != null) { query = includeProperties(query); } if (orderBy != null) { query = orderBy(query); } if (paging != null) { return(query.GetListPage <TEntity>(paging)); } else { return(query.ToList()); } }
/// <summary> /// Prepare ImageDisplayModel /// </summary> /// <param name="paginationModel">IPaginationModel<Image> instnace</param> /// <param name="searchQuery">search queryy</param> /// <returns>ImageDisplayModel instance</returns> public ImageDisplayModel PrepareModel(IPaginationModel <Image> paginationModel, string searchQuery) { var imageDisplayModel = mapper.Map <ImageDisplayModel>(paginationModel); imageDisplayModel.SearchCategory = searchQuery; imageDisplayModel.Images.GetPaths(IHostingExtension.ImagesFolderDisplay); return(imageDisplayModel); }
public IEnumerable <T> TakePaginationModel <T>(IEnumerable <T> list, IPaginationModel pagination) where T : class { list = (pagination.CurrentPage > 0 ? list.Skip((pagination.CurrentPage - 1) * pagination.ItemsPerPage).Take(pagination.ItemsPerPage) : list); return(list); }
public static List <T> GetListPage <T>(this List <T> source, IPaginationModel filter) { filter.TotalItemCount = source.Count(); return(GetListPage(source, filter.CurrentPage, filter.PageSize, filter.TotalItemCount)); }