public object Get(GetFileOrganizationActivity request) { var result = InternalFileOrganizationService.GetResults(new FileOrganizationResultQuery { Limit = request.Limit, StartIndex = request.StartIndex }); return(_resultFactory.GetOptimizedResult(Request, result)); }
/// <summary> /// Gets the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>System.Object.</returns> public object Get(GetDashboardConfigurationPages request) { const string unavailableMessage = "The server is still loading. Please try again momentarily."; var instance = ServerEntryPoint.Instance; if (instance == null) { throw new InvalidOperationException(unavailableMessage); } var pages = instance.PluginConfigurationPages; if (pages == null) { throw new InvalidOperationException(unavailableMessage); } // Don't allow a failing plugin to fail them all var configPages = pages.Select(p => { try { return(new ConfigurationPageInfo(p)); } catch (Exception ex) { _logger.ErrorException("Error getting plugin information from {0}", ex, p.GetType().Name); return(null); } }) .Where(i => i != null) .ToList(); configPages.AddRange(_appHost.Plugins.SelectMany(GetConfigPages)); if (request.PageType.HasValue) { configPages = configPages.Where(p => p.ConfigurationPageType == request.PageType.Value).ToList(); } if (request.EnableInMainMenu.HasValue) { configPages = configPages.Where(p => p.EnableInMainMenu == request.EnableInMainMenu.Value).ToList(); } return(_resultFactory.GetOptimizedResult(Request, configPages)); }