public IEnumerable <Content> Get(ContentListModelFilter filter, int pageNumber, int pageSize, out int totalRecords) { if (filter == null) { filter = new ContentListModelFilter(); } using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); var query = from c in linqMetaData.Content where (filter.Inactive == filter.Active) || (c.IsActive == filter.Active) select c; if (!string.IsNullOrEmpty(filter.Title)) { filter.Title = filter.Title.Trim(); query = from c in query where c.Title.Contains(filter.Title) select c; } totalRecords = query.Count(); var entities = Enumerable.ToArray <ContentEntity>(query.OrderByDescending(q => q.IsActive).OrderByDescending(q => q.DateModified ?? q.DateCreated).TakePage(pageNumber, pageSize)); return(Mapper.Map <IEnumerable <ContentEntity>, IEnumerable <Content> >(entities)); } }
public ContentListModel GetListModel(ContentListModelFilter filter, int pageNumber, int pageSize, out int totalRecords) { var objects = _contentRepository.Get(filter, pageNumber, pageSize, out totalRecords); var viewModels = Mapper.Map <IEnumerable <Content>, IEnumerable <ContentViewModel> >(objects); var model = new ContentListModel { Collection = viewModels, Filter = filter }; return(model); }
public ActionResult Index(ContentListModelFilter filter = null, int pageNumber = 1) { if (filter == null) { filter = new ContentListModelFilter(); } int totalRecords; var model = _contentService.GetListModel(filter, pageNumber, _defaultSize, out totalRecords); model.PagingModel = new PagingModel(pageNumber, _defaultSize, totalRecords, p => Url.Action("Index", new { filter.Title, filter.Inactive, filter.Active, pageNumber = p })); return(View(model)); }