Пример #1
0
 public Task <BlogResult> GetStories(int pageSize = 10, int page = 1)
 {
     return(Task.FromResult(new BlogResult()
     {
         CurrentPage = page,
         TotalResults = Stories.Count(),
         TotalPages = CalculatePages(Stories.Count(), pageSize),
         Stories = Stories.Skip((page - 1) * pageSize).Take(pageSize),
     }));
 }
Пример #2
0
        public Task <BlogResult> GetStoriesByTag(string tag, int pageSize, int page)
        {
            var lowerTag   = tag.ToLowerInvariant();
            var totalCount = Stories.Count(s => s.Categories.ToLowerInvariant().Split(',').Contains(lowerTag));

            return(Task.FromResult(new BlogResult()
            {
                CurrentPage = page,
                TotalResults = totalCount,
                TotalPages = CalculatePages(totalCount, pageSize),
                Stories = Stories
                          .Where(s => s.Categories.ToLowerInvariant().Split(',').Contains(lowerTag))
                          .Skip((page - 1) * pageSize).Take(pageSize)
            }));
        }
Пример #3
0
        public Task <BlogResult> GetStoriesByTerm(string term, int pageSize, int page)
        {
            var lowerTerm  = term.ToLowerInvariant();
            var totalCount = Stories.Count(s => s.Body.ToLowerInvariant().Contains(lowerTerm) ||
                                           s.Categories.ToLowerInvariant().Contains(lowerTerm) ||
                                           s.Title.ToLowerInvariant().Contains(lowerTerm));

            return(Task.FromResult(new BlogResult()
            {
                CurrentPage = page,
                TotalResults = totalCount,
                TotalPages = CalculatePages(totalCount, pageSize),
                Stories = Stories
                          .Where(s => s.Body.ToLowerInvariant().Contains(lowerTerm) ||
                                 s.Categories.ToLowerInvariant().Contains(lowerTerm) ||
                                 s.Title.ToLowerInvariant().Contains(lowerTerm))
                          .Skip((page - 1) * pageSize).Take(pageSize)
            }));
        }
Пример #4
0
        public void CreateStory()
        {
            Story story = new Story(Model.Connection);

            story.UniverseId = Model.id;

            StoryPropertiesDialog dialog = new StoryPropertiesDialog(DialogOwner, story, Categories);
            bool?result = dialog.ShowDialog();

            if (result.HasValue && result.Value)
            {
                if (story.CategoryId == null)
                {
                    if (SubItems.Count > 0)
                    {
                        story.SortIndex = SubItems.Max(i => i.SortIndex) + 1;
                    }
                    else
                    {
                        story.SortIndex = 0;
                    }
                }
                else
                {
                    if (Stories.Count(i => i.Model.CategoryId == story.CategoryId) > 0)
                    {
                        story.SortIndex = Stories.Where(i => i.Model.CategoryId == story.CategoryId).Max(i => i.SortIndex + 1);
                    }
                    else
                    {
                        story.SortIndex = 0;
                    }
                }
                story.Create();
                StoryViewModel storyVm = new StoryViewModel(story);
                storyVm.UniverseVm = this;
                Stories.Add(storyVm);
                UpdateStoryInTree(storyVm);
            }
        }