public static async Task <PostsPagedListViewModel> BuildModelForSearch(IPostAsyncRepository postRepository, int pageNum, string search)
 {
     return(new PostsPagedListViewModel()
     {
         Posts = (await postRepository.GetForSearch(search)
                  .ToPagedListAsync(pageNum, PostsCountOnPage))
                 .Select(p => new PostPreviewViewModel(p))
     });
 }
 public static async Task <PostsPagedListViewModel> BuildDefaultModel(IPostAsyncRepository postRepository, int pageNum)
 {
     return(new PostsPagedListViewModel()
     {
         Posts = (await postRepository.GetAll()
                  .ToPagedListAsync(pageNum, PostsCountOnPage))
                 .Select(p => new PostPreviewViewModel(p))
     });
 }
예제 #3
0
        public SidebarViewModel(IPostAsyncRepository postRepository, IAsyncRepository <Tag> tagRepository)
        {
            Task.Run(async() => {
                LatestPosts = postRepository.GetAll()
                              .OrderByDescending(p => p.Created)
                              .Take(15)
                              .Select(p => new PostPreviewViewModel(p))
                              .ToList();

                Tags = (await tagRepository.GetAll())
                       .Select(t => new TagViewModel(t))
                       .ToList();
            }).Wait();
        }
예제 #4
0
 public HomeController(ILogger <HomeController> logger, IPostAsyncRepository repository)
 {
     _logger         = logger;
     this.repository = repository;
 }
예제 #5
0
 public SidebarViewComponent(IPostAsyncRepository postRepository, IAsyncRepository <Tag> tagRepository)
 {
     _postRepository = postRepository;
     _tagRepository  = tagRepository;
 }
예제 #6
0
 public PostController(IPostAsyncRepository postRepository, IAsyncRepository <Tag> tagRepository)
 {
     this.postRepository = postRepository;
     this.tagRepository  = tagRepository;
 }
예제 #7
0
 public PostController(IPostAsyncRepository repository)
 {
     this.repository = repository;
 }