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