public virtual async Task <IActionResult> List(BlogPagingFilteringModel command)
        {
            if (!_blogSettings.Enabled)
            {
                return(RedirectToRoute("Homepage"));
            }

            var model = await _blogModelFactory.PrepareBlogPostListModelAsync(command);

            return(View("List", model));
        }
Пример #2
0
        public async Task CanPrepareBlogPostListModel()
        {
            var model = await _blogModelFactory.PrepareBlogPostListModelAsync(new BlogPagingFilteringModel());

            model.PagingFilteringContext.FirstItem.Should().Be(1);
            model.PagingFilteringContext.HasNextPage.Should().BeFalse();
            model.PagingFilteringContext.HasPreviousPage.Should().BeFalse();
            model.PagingFilteringContext.LastItem.Should().Be(2);
            model.PagingFilteringContext.PageNumber.Should().Be(1);
            model.PagingFilteringContext.PageSize.Should().Be(10);
            model.PagingFilteringContext.TotalItems.Should().Be(2);
            model.PagingFilteringContext.TotalPages.Should().Be(1);
            model.PagingFilteringContext.Tag.Should().BeNull();
            model.PagingFilteringContext.Month.Should().BeNull();

            model.BlogPosts.Should().NotBeNull();
            model.BlogPosts.Count.Should().Be(2);

            var date = DateTime.Now.ToUniversalTime();

            model = await _blogModelFactory.PrepareBlogPostListModelAsync(new BlogPagingFilteringModel
            {
                Month = $"{date.Year}-{date.Month}"
            });

            model.PagingFilteringContext.Month.Should().NotBeNullOrEmpty();
            model.PagingFilteringContext.Tag.Should().BeNull();
            model.BlogPosts.Should().NotBeNull();
            model.BlogPosts.Count.Should().Be(2);

            model = await _blogModelFactory.PrepareBlogPostListModelAsync(new BlogPagingFilteringModel
            {
                Month = $"{date.Year}-{date.Month}",
                Tag   = "nopCommerce"
            });

            model.PagingFilteringContext.Month.Should().NotBeNullOrEmpty();
            model.PagingFilteringContext.Tag.Should().NotBeNullOrEmpty();
            model.BlogPosts.Should().NotBeNull();
            model.BlogPosts.Count.Should().Be(1);
        }
Пример #3
0
        public virtual async Task <IActionResult> List(BlogPostSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageBlog))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _blogModelFactory.PrepareBlogPostListModelAsync(searchModel);

            return(Json(model));
        }