public virtual async Task <IActionResult> List(BlogPagingFilteringModel command) { if (!_blogSettings.Enabled) { return(RedirectToRoute("Homepage")); } var model = await _blogModelFactory.PrepareBlogPostListModelAsync(command); return(View("List", model)); }
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); }
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)); }