Beispiel #1
0
        public IEnumerable <CommentFilterDTO> GetCommentsByFilter(String stringToSearch)
        {
            IEnumerable <Task>      all = context.Tasks.Include(t => t.Comments);
            CommentFilterDTO        commentFilterDTO;
            List <CommentFilterDTO> resultEnum = new List <CommentFilterDTO>();

            foreach (Task task in all)
            {
                foreach (Comment comment in task.Comments)
                {
                    if (comment.Text.Contains(stringToSearch))
                    {
                        commentFilterDTO           = new CommentFilterDTO();
                        commentFilterDTO.Id        = comment.Id;
                        commentFilterDTO.Text      = comment.Text;
                        commentFilterDTO.Important = comment.Important;
                        commentFilterDTO.TaskId    = task.Id;
                        resultEnum.Add(commentFilterDTO);
                    }
                }
            }
            IEnumerable <CommentFilterDTO> send = resultEnum;

            return(send);
        }
Beispiel #2
0
        public PaginatedList <CommentFilterDTO> GetAll(string filter, int page)
        {
            IQueryable <Comment> result = context
                                          .Comments
                                          .Where(c => string.IsNullOrEmpty(filter) || c.Text.Contains(filter))
                                          .OrderBy(c => c.Id)
                                          .Include(c => c.Task);

            PaginatedList <CommentFilterDTO> paginatedResult = new PaginatedList <CommentFilterDTO>();

            paginatedResult.CurrentPage = page;

            paginatedResult.NumberOfPages = (result.Count() - 1) / PaginatedList <CommentFilterDTO> .EntriesPerPage + 1;
            result = result
                     .Skip((page - 1) * PaginatedList <CommentFilterDTO> .EntriesPerPage)
                     .Take(PaginatedList <CommentFilterDTO> .EntriesPerPage);
            paginatedResult.Entries = result.Select(f => CommentFilterDTO.FromComment(f)).ToList();

            return(paginatedResult);
        }
Beispiel #3
0
        public IEnumerable <CommentFilterDTO> GetAll(String keyword)
        {
            IQueryable <Task> result = context.Tasks.Include(c => c.Comments);

            List <CommentFilterDTO> resultFilteredComments = new List <CommentFilterDTO>();
            List <CommentFilterDTO> resultAllComments      = new List <CommentFilterDTO>();

            foreach (Task task in result)
            {
                task.Comments.ForEach(c =>
                {
                    if (c.Text == null || keyword == null)
                    {
                        CommentFilterDTO comment = new CommentFilterDTO
                        {
                            Id        = c.Id,
                            Important = c.Important,
                            Text      = c.Text,
                            TaskId    = task.Id
                        };
                        resultAllComments.Add(comment);
                    }
                    else if (c.Text.Contains(keyword))
                    {
                        CommentFilterDTO comment = new CommentFilterDTO
                        {
                            Id        = c.Id,
                            Important = c.Important,
                            Text      = c.Text,
                            TaskId    = task.Id
                        };
                        resultFilteredComments.Add(comment);
                    }
                });
            }
            if (keyword == null)
            {
                return(resultAllComments);
            }
            return(resultFilteredComments);
        }