public PaginatedList <TaskCommentlModel> GetAll(int page, string keyword) { IQueryable <Comment> result = context .Comments .Where(c => string.IsNullOrEmpty(keyword) || c.Text.Contains(keyword)) .OrderBy(c => c.Id); var paginatedResult = new PaginatedList <TaskCommentlModel>(); paginatedResult.CurrentPage = page; paginatedResult.NumberOfPages = (result.Count() - 1) / PaginatedList <TaskCommentlModel> .EntriesPerPage + 1; result = result .Skip((page - 1) * PaginatedList <TaskCommentlModel> .EntriesPerPage) .Take(PaginatedList <TaskCommentlModel> .EntriesPerPage); paginatedResult.Entries = result.Select(c => TaskCommentlModel.FromComment(c)).ToList(); return(paginatedResult); }