示例#1
0
        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);
        }