Пример #1
0
        public virtual IActionResult OfficialFeedSelect(DataSourceRequest command, OfficialFeedListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins))
            {
                return(AccessDeniedKendoGridJson());
            }

            var plugins = _officialFeedManager.GetAllPlugins(categoryId: model.SearchCategoryId,
                                                             versionId: model.SearchVersionId,
                                                             price: model.SearchPriceId,
                                                             searchTerm: model.SearchName,
                                                             pageIndex: command.Page - 1,
                                                             pageSize: command.PageSize);

            var gridModel = new DataSourceResult
            {
                Data = plugins.Select(x => new OfficialFeedListModel.ItemOverview
                {
                    Url               = x.Url,
                    Name              = x.Name,
                    CategoryName      = x.Category,
                    SupportedVersions = x.SupportedVersions,
                    PictureUrl        = x.PictureUrl,
                    Price             = x.Price
                }),
                Total = plugins.TotalCount
            };

            return(Json(gridModel));
        }
Пример #2
0
        public ActionResult OfficialFeedSelect(DataSourceRequest command, OfficialFeedListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins))
            {
                return(AccessDeniedView());
            }

            var plugins = _officialFeedManager.GetAllPlugins(model.SearchCategoryId, model.SearchVersionId,
                                                             model.SearchPriceId, model.SearchName, command.Page - 1, command.PageSize);

            var gridModel = new DataSourceResult();

            gridModel.Data = plugins.Select(x => new OfficialFeedListModel.ItemOverview
            {
                Url               = x.Url,
                Name              = x.Name,
                CategoryName      = x.Category,
                SupportedVersions = x.SupportedVersions,
                PictureUrl        = x.PictureUrl,
                Price             = x.Price
            });
            gridModel.Total = plugins.TotalCount;

            return(Json(gridModel));
        }
Пример #3
0
        //official feed
        public virtual IActionResult OfficialFeed()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePlugins))
            {
                return(AccessDeniedView());
            }

            var model = new OfficialFeedListModel();

            //versions
            model.AvailableVersions.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
            });
            foreach (var version in _officialFeedManager.GetVersions())
            {
                model.AvailableVersions.Add(new SelectListItem {
                    Text = version.Name, Value = version.Id.ToString()
                });
            }
            //pre-select current version
            //current version name and named on official site do not match. that's why we use "Contains"
            var currentVersionItem = model.AvailableVersions.FirstOrDefault(x => x.Text.Contains(NopVersion.CurrentVersion));

            if (currentVersionItem != null)
            {
                model.SearchVersionId       = int.Parse(currentVersionItem.Value);
                currentVersionItem.Selected = true;
            }

            //categories
            var categories = _officialFeedManager.GetCategories();

            model.AvailableCategories.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
            });
            foreach (var category in categories)
            {
                model.AvailableCategories.Add(new SelectListItem {
                    Text = GetCategoryBreadCrumbName(category, categories), Value = category.Id.ToString()
                });
            }
            //prices
            model.AvailablePrices.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
            });
            model.AvailablePrices.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Configuration.Plugins.OfficialFeed.Price.Free"), Value = "10"
            });
            model.AvailablePrices.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Configuration.Plugins.OfficialFeed.Price.Commercial"), Value = "20"
            });
            return(View(model));
        }