Пример #1
0
#pragma warning disable 1998
        public async Task <JsonResult> GetBreakingNews()
#pragma warning restore 1998
        {
            var newsItems = _newsService.GetBreakingNews().Take(5);
            var model     = _newsModelFactory.PrepareNewsOverviewModel(newsItems);

            return(Json(model));
        }
Пример #2
0
        /// <summary>
        /// Prepare category model
        /// </summary>
        /// <param name="category">Category</param>
        /// <param name="command">Catalog paging filtering command</param>
        /// <returns>Category model</returns>
        public virtual CategoriModel PrepareCategoryModel(Category category, CatalogPagingFilteringModel command)
        {
            if (category == null)
            {
                throw new ArgumentNullException(nameof(category));
            }

            var model = new CategoriModel
            {
                Id                   = category.Id,
                Name                 = category.Name,
                Description          = category.Description,
                MetaKeywords         = category.MetaKeywords,
                MetaDescription      = category.MetaDescription,
                MetaTitle            = category.MetaTitle,
                SeName               = _urlRecordService.GetSeName(category),
                VideoId              = category.VideoGalleryId,
                SliderId             = category.SliderId,
                PhotoId              = category.PhotoGalleryId,
                BannerLitlePictureId = category.BannerLitlePictureId,
                BannerPictureId      = category.BannerPictureId
            };

            //page size
            PreparePageSizeOptions(model.PagingFilteringContext, command, category.PageSizeOptions, category.PageSize);

            //subcategories
            model.SubCategories = _categoryService.GetAllCategoriesByParentCategoryId(category.Id)
                                  .Select(x =>
            {
                var subCatModel = new CategoriModel.SubCategoryModel
                {
                    Id          = x.Id,
                    Name        = x.Name,
                    SeName      = _urlRecordService.GetSeName(x),
                    Description = x.Description
                };
                return(subCatModel);
            }).ToList();
            var categoryIds = new List <int>();

            categoryIds.Add(category.Id);
            if (_catalogSettings.ShowProductsFromSubcategories)
            {
                //include subcategories
                categoryIds.AddRange(_categoryService.GetChildCategoryIds(category.Id, _storeContext.CurrentStore.Id));
            }

            var newses = _newsService.GetAllNews(categoryId: category.Id, showHidden: true, approved: true);

            model.LargeNewsModels = _newsModelFactory.PrepareNewsOverviewModel(newses).ToList();
            model.PagingFilteringContext.LoadPagedList(newses);
            model.VideoGalleryModel = _videoFactory.PrepareVideoGalleryModel(model.VideoId);
            model.GalleryModel      = _galleryFactory.PrePareGalleryModel(model.PhotoId);
            model.SliderModel       = _sliderFactory.PrePareSliderModel(model.SliderId);
            if (category.BannerPictureId > 0)
            {
                model.BannerPictureUrl = _pictureService.GetPictureUrl(category.BannerPictureId);
            }

            if (category.BannerLitlePictureId > 0)
            {
                model.BannerLittlePicturUrl = _pictureService.GetPictureUrl(category.BannerLitlePictureId);
            }


            return(model);
        }