public async Task <IActionResult> Get(Guid postId)
        {
            var model = await _postService.GetById(postId);

            var viewModel = PostViewModelMapper.Map(model);

            return(View(viewModel));
        }
        public void GivenPost_WhenMapIsCalled_APostViewModelIsReturned()
        {
            var post = new Post {
                Title = "t", Description = "d", Link = "l", PubDate = new DateTimeOffset(new DateTime(2016, 1, 13, 11, 20, 08), DateTimeOffset.Now.Offset)
            };

            var model = _mapper.Map(post);

            var expected = new PostViewModel {
                Title           = post.Title,
                Description     = post.Description,
                Link            = post.Link,
                PublicationDate = new DateTime(2016, 1, 13, 11, 20, 08, DateTimeKind.Local).ToString("g")
            };

            model.ShouldBeEquivalentTo(expected);
        }
        public async Task <IActionResult> GetAll(int page = 0)
        {
            var posts = await _postService.GetPagedResult(page, 3);

            var viewModelsColl = new PagedList <PostViewModel>(posts.Select(x => PostViewModelMapper.Map(x)),
                                                               posts.PageIndex, posts.PageSize, posts.ResultsCaunt, posts.TotalCaunt);

            return(View(viewModelsColl));
        }
        public async Task <IActionResult> GetByCategory(Guid categoryId, int page = 1)
        {
            var posts = await _postService.GetPagedResult(page, 3, x => x.Category.Id == categoryId, x => x.Title);

            var viewModelsColl = new PagedList <PostViewModel>(
                posts.Select(x => PostViewModelMapper.Map(x)),
                posts.PageIndex, posts.PageSize, posts.ResultsCaunt, posts.TotalCaunt);

            return(View("GetAll", viewModelsColl));
        }