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))); }
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; } }
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); }
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); }
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>(); }