public async Task <PaginateResultBase <PostViewModel> > GetPaginateAsync(PaginateFilterBase filter) { var query = await _repository.GetQueryableByCriteria(x => !x.Deleted); if (!string.IsNullOrEmpty(filter.Search)) { filter.Search = filter.Search.ToLower(); query = query.Where(x => x.Title.ToLower().Contains(filter.Search) || x.SubTitle.ToLower().Contains(filter.Search) || x.User.FirstName.ToLower().Contains(filter.Search) || x.User.LastName.ToLower().Contains(filter.Search)); } var total = query.Count(); query = query.OrderByDescending(x => x.Title); if (int.TryParse(filter.Skip, out int skip)) { query = query.Skip(skip); } if (int.TryParse(filter.Take, out int take)) { query = query.Take(take); } var list = _mapper.Map <List <PostViewModel> >(query.ToList()); return(new PaginateResultBase <PostViewModel>() { Results = list, Total = total }); }
public Task <PaginateResultBase <LessonViewModel> > GetPaginateAsync(PaginateFilterBase filter) { throw new NotImplementedException(); }