Example #1
0
        public List <SystemAdminMainMenu> GetSystemAdminMainMenu()
        {
            CacheItem cache = _memoryCache.GetCache().Get(SystemAdminMainMenuCache);

            if (cache == null)
            {
                int uniqueId = 0;

                List <SystemAdminMainMenu> menuItems       = _pluginClassesService.GetPluginClasses <SystemAdminMainMenu>();
                List <SystemAdminSubMenu>  allSubMenuItems = _pluginClassesService.GetPluginClasses <SystemAdminSubMenu>();

                // get sub menu items
                foreach (SystemAdminMainMenu menu in menuItems)
                {
                    menu.UniqueId       = ++uniqueId;
                    menu.ChildMenuItems = new List <SystemAdminSubMenu>();

                    foreach (SystemAdminSubMenu subMenu in allSubMenuItems)
                    {
                        if (subMenu.ParentMenuName() == menu.Name())
                        {
                            menu.ChildMenuItems.Add(subMenu);
                        }
                    }

                    _memoryCache.GetCache().Add(String.Format(SystemAdminMainMenu, menu.UniqueId),
                                                new CacheItem(String.Format(SystemAdminMainMenu, menu.UniqueId), menu));

                    foreach (SystemAdminSubMenu subMenu in menu.ChildMenuItems)
                    {
                        subMenu.UniqueId   = ++uniqueId;
                        subMenu.ParentMenu = menu;

                        _memoryCache.GetCache().Add(String.Format(SystemAdminSubMenu, subMenu.UniqueId),
                                                    new CacheItem(String.Format(SystemAdminSubMenu, subMenu.UniqueId), subMenu));
                    }

                    menu.ChildMenuItems.Sort();
                }

                menuItems.Sort();

                cache = new CacheItem(SystemAdminMainMenuCache, menuItems);
                _memoryCache.GetCache().Add(SystemAdminMainMenuCache, cache);
            }

            return((List <SystemAdminMainMenu>)cache.Value);
        }
        public IActionResult ProcessCheckout(CheckoutModel model)
        {
            // get the selected provider
            IPaymentProvider provider = _pluginClassesService.GetPluginClasses <IPaymentProvider>()
                                        .Where(p => p.UniqueId().CompareTo(model.SelectedProviderId) == 0).FirstOrDefault();

            if (provider == null)
            {
                throw new InvalidOperationException(Middleware.Constants.PaymentProviderNotFound);
            }

            ShoppingCartDetail cartDetails = _shoppingCartProvider.GetDetail(GetCartSummary().Id);
            UserSession        session     = GetUserSession();

            if (_shoppingCartProvider.ConvertToOrder(cartDetails, session.UserID, out Order order))
            {
                if (provider.Execute(HttpContext.Request, order, PaymentStatus.Unpaid, session, out string providerUrl))
                {
                    session.Tag = order.Id;
                    return(Redirect(providerUrl));
                }
            }

            return(RedirectToAction(nameof(Failed)));
        }
Example #3
0
        public BreadcrumbMiddleware(RequestDelegate next, IActionDescriptorCollectionProvider routeProvider,
                                    IRouteDataService routeDataService, IPluginHelperService pluginHelperService,
                                    IPluginTypesService pluginTypesService, ISettingsProvider settingsProvider,
                                    IPluginClassesService pluginClassesService, ILogger logger)
        {
            if (routeProvider == null)
            {
                throw new ArgumentNullException(nameof(routeProvider));
            }

            if (routeDataService == null)
            {
                throw new ArgumentNullException(nameof(routeDataService));
            }

            if (pluginHelperService == null)
            {
                throw new ArgumentNullException(nameof(pluginHelperService));
            }

            if (pluginClassesService == null)
            {
                throw new ArgumentNullException(nameof(pluginClassesService));
            }

            if (pluginTypesService == null)
            {
                throw new ArgumentNullException(nameof(pluginTypesService));
            }

            if (settingsProvider == null)
            {
                throw new ArgumentNullException(nameof(settingsProvider));
            }

            _next   = next;
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            if (pluginHelperService.PluginLoaded(Constants.PluginNameLocalization, out int _))
            {
                List <IStringLocalizer> stringLocalizers = pluginClassesService.GetPluginClasses <IStringLocalizer>();

                if (stringLocalizers.Count > 0)
                {
                    _stringLocalizer = stringLocalizers[0];
                }
            }

            BreadcrumbSettings settings = settingsProvider.GetSettings <BreadcrumbSettings>(Constants.PluginSettingBreadcrumb);

            _homeBreadCrumb = new BreadcrumbItem(settings.HomeName,
                                                 $"{Constants.ForwardSlash}{settings.HomeController}{Constants.ForwardSlash}{settings.DefaultAction}", false);

            LoadBreadcrumbData(routeProvider, routeDataService, pluginTypesService, settings);

            if (!String.IsNullOrEmpty(settings.StaticFileExtensions))
            {
                _staticFileExtensions = settings.StaticFileExtensions;
            }
        }
Example #4
0
        public void QuickSearchFindAllKeywordsModularLoggedOut()
        {
            List <ISearchKeywordProvider> classTypes = _pluginServices.GetPluginClasses <ISearchKeywordProvider>();

            Assert.AreEqual(_searchClassCount, classTypes.Count);

            List <SearchResponseItem> Results = new List <SearchResponseItem>();

            foreach (ISearchKeywordProvider keywordProvider in classTypes)
            {
                List <SearchResponseItem> keywords = keywordProvider.Search(new KeywordSearchOptions("Modular", true));

                if (keywords != null)
                {
                    foreach (SearchResponseItem searchResult in keywords)
                    {
                        Results.Add(searchResult);
                    }
                }
            }

            Assert.AreEqual(3, Results.Count);

            int countWithUri = Results.Where(r => r.Url != null).Count();

            Assert.AreEqual(1, countWithUri);
        }
Example #5
0
        public List <MainMenuItem> BuildMainMenu()
        {
            CacheItem cache = _memoryCache.GetExtendingCache().Get(MainMenuCache);

            if (cache == null)
            {
                cache = new CacheItem(MainMenuCache, _pluginClassesService.GetPluginClasses <MainMenuItem>());
                _memoryCache.GetExtendingCache().Add(MainMenuCache, cache);
            }

            return((List <MainMenuItem>)cache.Value);
        }
Example #6
0
        public List <SystemAdminMainMenu> GetSystemAdminMainMenu()
        {
            CacheItem cache = _memoryCache.GetCache().Get(SystemAdminMainMenuCache);

            if (cache == null)
            {
                int uniqueId = 0;

                //should loop through all child items, add to a parent (create if not found) and then finally sort all parent and parent menu items

                List <SystemAdminMainMenu> menuItems       = new List <SystemAdminMainMenu>();
                List <SystemAdminSubMenu>  allSubMenuItems = _pluginClassesService.GetPluginClasses <SystemAdminSubMenu>();

                // get sub menu items
                foreach (SystemAdminSubMenu menu in allSubMenuItems.Where(sm => sm.Enabled()).ToList())
                {
                    menu.UniqueId = ++uniqueId;

                    // get parent menu
                    SystemAdminMainMenu parent = menuItems.Where(p => p.Name.Equals(menu.ParentMenuName())).FirstOrDefault();

                    if (parent == null)
                    {
                        parent = new SystemAdminMainMenu(menu.ParentMenuName(), ++uniqueId);
                        menuItems.Add(parent);
                    }

                    menu.ParentMenu = parent;
                    parent.ChildMenuItems.Add(menu);

                    _memoryCache.GetCache().Add(String.Format(SystemAdminMainMenu, menu.UniqueId),
                                                new CacheItem(String.Format(SystemAdminMainMenu, menu.UniqueId), menu));

                    menu.UniqueId = ++uniqueId;

                    _memoryCache.GetCache().Add(String.Format(SystemAdminSubMenu, menu.UniqueId),
                                                new CacheItem(String.Format(SystemAdminSubMenu, menu.UniqueId), menu));

                    parent.ChildMenuItems.Sort();
                }

                menuItems.Sort();

                cache = new CacheItem(SystemAdminMainMenuCache, menuItems);
                _memoryCache.GetCache().Add(SystemAdminMainMenuCache, cache);
            }

            return((List <SystemAdminMainMenu>)cache.Value);
        }
        //private static readonly object _lockObject = new object();

        #endregion Private Members

        #region Constructors

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="pluginClassesService">IPluginClassesService instance</param>
        public DefaultSearchProvider(IPluginClassesService pluginClassesService)
        {
            _pluginClassesService = pluginClassesService ?? throw new ArgumentNullException(nameof(pluginClassesService));

            _searchProviders = _pluginClassesService.GetPluginClasses <ISearchKeywordProvider>();
        }