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); }
public IEnumerable <TaskCommentlModel> GetAll(String keyword) { IQueryable <Task> result = context.Tasks.Include(c => c.Comments); List <TaskCommentlModel> resultFilteredComments = new List <TaskCommentlModel>(); List <TaskCommentlModel> resultAllComments = new List <TaskCommentlModel>(); foreach (Task task in result) { task.Comments.ForEach(c => { if (c.Text == null || keyword == null) { TaskCommentlModel comment = new TaskCommentlModel { Id = c.Id, Important = c.Important, Text = c.Text, TaskId = task.Id }; resultAllComments.Add(comment); } else if (c.Text.Contains(keyword)) { TaskCommentlModel comment = new TaskCommentlModel { Id = c.Id, Important = c.Important, Text = c.Text, TaskId = task.Id }; resultFilteredComments.Add(comment); } }); } if (keyword == null) { return(resultAllComments); } return(resultFilteredComments); }