public async Task <IViewComponentResult> InvokeAsync(Widget widget) { var blogTagsWidget = (BlogTagsWidget)widget; var tags = (await _tagSvc.GetAllAsync()).Where(t => t.Count > 0).Take(blogTagsWidget.MaxTagsDisplayed); return(View(WidgetService.GetWidgetViewPath("BlogTags"), new Tuple <IEnumerable <Tag>, BlogTagsWidget>(tags, blogTagsWidget))); }
public async Task <IViewComponentResult> InvokeAsync(Widget widget) { var blogCategoriesWidget = (BlogCategoriesWidget)widget; var categories = (await _catSvc.GetAllAsync()).Where(t => t.Count > 0); return(View(WidgetService.GetWidgetViewPath("BlogCategories"), new Tuple <IEnumerable <Category>, BlogCategoriesWidget>(categories, blogCategoriesWidget))); }
public async Task <IViewComponentResult> InvokeAsync(Widget widget) { var blogArchivesWidget = (BlogArchivesWidget)widget; var years = await _statsSvc.GetArchivesAsync(); return(View(WidgetService.GetWidgetViewPath("BlogArchives"), new Tuple <Dictionary <int, List <MonthItem> >, BlogArchivesWidget>(years, blogArchivesWidget))); }
public async Task <IViewComponentResult> InvokeAsync(Widget widget) { var recentBlogPostsWidget = (RecentBlogPostsWidget)widget; var posts = await blogPostService.GetRecentPostsAsync(recentBlogPostsWidget.NumberOfPostsToShow); // must have at least 2 posts if (posts.PostCount < 2) { return(await Task.FromResult <IViewComponentResult>(Content(string.Empty))); } // get current url var relativeUrl = httpContextAccessor.HttpContext.Request.Path; var list = new List <RecentPostViewModel>(); foreach (var post in posts.Posts) { // if post url is current url then skip this post var postUrl = BlogRoutes.GetPostRelativeLink(post.CreatedOn, post.Slug); if (postUrl.Equals(relativeUrl, StringComparison.OrdinalIgnoreCase)) { continue; } list.Add(new RecentPostViewModel { Title = post.Title, Link = BlogRoutes.GetPostPermalink(post.Id), Author = post.User.DisplayName, Excerpt = recentBlogPostsWidget.ShowPostExcerpt ? post.Excerpt : null, Date = recentBlogPostsWidget.ShowPostDate ? post.CreatedOn.ToString("yyyy-MM-dd") : null, }); } return(View(WidgetService.GetWidgetViewPath("RecentBlogPosts"), new Tuple <List <RecentPostViewModel>, RecentBlogPostsWidget>(list, recentBlogPostsWidget))); }
public async Task <IViewComponentResult> InvokeAsync(Widget widget) { var socialIconsWidget = (SocialIconsWidget)widget; return(View(WidgetService.GetWidgetViewPath("SocialIcons"), socialIconsWidget)); }