示例#1
0
        //[OutputCache(Duration = 120, VaryByCustom = "WorkingLanguage")]
        public ActionResult BlogTags()
        {
            if (!_blogSettings.Enabled)
            {
                return(Content(""));
            }

            var cacheKey    = string.Format(ModelCacheEventConsumer.BLOG_TAGS_MODEL_KEY, _workContext.WorkingLanguage.Id);
            var cachedModel = _cacheManager.Get(cacheKey, () =>
            {
                var model = new BlogPostTagListModel();

                //get tags
                var tags = _blogService.GetAllBlogPostTags(_workContext.WorkingLanguage.Id)
                           .OrderByDescending(x => x.BlogPostCount)
                           .Take(_blogSettings.NumberOfTags)
                           .ToList();
                //sorting
                tags = tags.OrderBy(x => x.Name).ToList();

                foreach (var tag in tags)
                {
                    model.Tags.Add(new BlogPostTagModel()
                    {
                        Name          = tag.Name,
                        BlogPostCount = tag.BlogPostCount
                    });
                }
                return(model);
            });

            return(PartialView(cachedModel));
        }
示例#2
0
        public BlogPostTagListModel PrepareBlogPostTagListModel()
        {
            var cacheKey    = string.Format(ModelCacheEventConsumer.BLOG_TAGS_MODEL_KEY, _workContext.WorkingLanguage.Id, _storeContext.CurrentStore.Id);
            var cachedModel = _cacheManager.Get(cacheKey, () =>
            {
                var model = new BlogPostTagListModel();

                //get tags
                var tags = _blogService.GetAllBlogPostTags(_storeContext.CurrentStore.Id)
                           .OrderByDescending(x => x.BlogPostCount)
                           .Take(_blogSettings.NumberOfTags)
                           .ToList();
                //sorting
                tags = tags.OrderBy(x => x.Name).ToList();

                foreach (var tag in tags)
                {
                    model.Tags.Add(new BlogPostTagModel
                    {
                        Name          = tag.Name,
                        BlogPostCount = tag.BlogPostCount
                    });
                }
                return(model);
            });

            return(cachedModel);
        }
示例#3
0
        //[OutputCache(Duration = 120, VaryByCustom = "WorkingLanguage")]
        public ActionResult BlogTags()
        {
            if (!_blogSettings.Enabled)
            {
                return(Content(""));
            }

            var model = new BlogPostTagListModel();

            //get tags
            var tags = _blogService.GetAllBlogPostTags(_workContext.WorkingLanguage.Id)
                       .OrderByDescending(x => x.BlogPostCount)
                       .Take(_blogSettings.NumberOfTags)
                       .ToList();

            //sorting
            tags = tags.OrderBy(x => x.Name).ToList();

            foreach (var tag in tags)
            {
                model.Tags.Add(new BlogPostTagModel()
                {
                    Name          = tag.Name,
                    BlogPostCount = tag.BlogPostCount
                });
            }

            return(PartialView(model));
        }
示例#4
0
        /// <summary>
        /// Prepare blog post tag list model
        /// </summary>
        /// <returns>Blog post tag list model</returns>
        public virtual BlogPostTagListModel PrepareBlogPostTagListModel()
        {
            var model = new BlogPostTagListModel();

            //get tags
            var tags = _blogService
                       .GetAllBlogPostTags(_storeContext.CurrentStore.Id, _workContext.WorkingLanguage.Id)
                       .OrderByDescending(x => x.BlogPostCount)
                       .Take(_blogSettings.NumberOfTags);

            //sorting and setting into the model
            model.Tags.AddRange(tags.OrderBy(x => x.Name).Select(tag => new BlogPostTagModel
            {
                Name          = tag.Name,
                BlogPostCount = tag.BlogPostCount
            }));

            return(model);
        }
示例#5
0
        /// <summary>
        /// Prepare blog post tag list model
        /// </summary>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the blog post tag list model
        /// </returns>
        public virtual async Task <BlogPostTagListModel> PrepareBlogPostTagListModelAsync()
        {
            var model = new BlogPostTagListModel();
            var store = await _storeContext.GetCurrentStoreAsync();

            //get tags
            var tags = (await _blogService
                        .GetAllBlogPostTagsAsync(store.Id, (await _workContext.GetWorkingLanguageAsync()).Id))
                       .OrderByDescending(x => x.BlogPostCount)
                       .Take(_blogSettings.NumberOfTags);

            //sorting and setting into the model
            model.Tags.AddRange(tags.OrderBy(x => x.Name).Select(tag => new BlogPostTagModel
            {
                Name          = tag.Name,
                BlogPostCount = tag.BlogPostCount
            }));

            return(model);
        }
示例#6
0
        /// <summary>
        /// Prepare blog post tag list model
        /// </summary>
        /// <returns>Blog post tag list model</returns>
        public virtual BlogPostTagListModel PrepareBlogPostTagListModel()
        {
            var model = new BlogPostTagListModel();

            //get tags
            var tags = _blogservice.GetAllBlogPostTags(_storeContext.CurrentStore.Id)
                       .OrderByDescending(x => x.BlogPostCount)
                       .Take(_blogSettings.NumberOfTags)
                       .ToList();

            //sorting
            tags = tags.OrderBy(x => x.Name).ToList();

            foreach (var tag in tags)
            {
                model.Tags.Add(new BlogPostTagModel
                {
                    Name          = tag.Name,
                    BlogPostCount = tag.BlogPostCount
                });
            }
            return(model);
        }
        public ActionResult BlogTags()
        {
            if (!_blogSettings.Enabled)
            {
                return(new EmptyResult());
            }

            var storeId    = _services.StoreContext.CurrentStore.Id;
            var languageId = _services.WorkContext.WorkingLanguage.Id;
            var cacheKey   = string.Format(ModelCacheEventConsumer.BLOG_TAGS_MODEL_KEY, languageId, storeId);

            var cachedModel = _cacheManager.Get(cacheKey, () =>
            {
                var model = new BlogPostTagListModel();

                var tags = _blogService.GetAllBlogPostTags(storeId, languageId)
                           .OrderByDescending(x => x.BlogPostCount)
                           .Take(_blogSettings.NumberOfTags)
                           .ToList();

                tags = tags.OrderBy(x => x.Name).ToList();

                foreach (var tag in tags)
                {
                    model.Tags.Add(new BlogPostTagModel
                    {
                        Name          = tag.Name,
                        SeName        = tag.GetSeName(),
                        BlogPostCount = tag.BlogPostCount
                    });
                }

                return(model);
            });

            return(PartialView(cachedModel));
        }