/// <summary> /// Initializes a new instance of the <see cref="AdminDashboardViewModel"/> class. /// </summary> /// <param name="settings">The settings.</param> /// <param name="cache">The cache.</param> /// <param name="securityRepos">The security repos.</param> public AdminDashboardViewModel(ISettings settings, ICache cache, ISecurityRepository securityRepos) : this() { var modules = DependencyResolver.Current.GetServices<IViewModule>() .Union<IModule>(DependencyResolver.Current.GetServices<IServiceModule>()) .Union<IModule>(DependencyResolver.Current.GetServices<IToolboxModule>()); foreach (var module in modules) { string moduleType = string.Empty; if (module is IViewModule) moduleType = " (View)"; else if (module is IServiceModule) moduleType = " (Service)"; else if (module is IToolboxModule) moduleType = " (Toolbox)"; LoadedModules.Add(module.GetType().FullName + moduleType); } UserStats = securityRepos.GetUserStats(); CurrentOnlineUserCount = settings.Sessions.Count; CacheCount = cache.ItemCount; CacheLongTimeout = settings.CacheLongTimeoutSecs; CacheMediumTimeout = settings.CacheMediumTimeoutSecs; CacheShortTimeout = settings.CacheShortTimeoutSecs; CacheConfiguration = settings.CacheOptions; CacheProvider = settings.CacheProvider; LoggingProvider = settings.LoggingProvider; LoggingConfiguration = settings.LogConfiguration; DataProvider = settings.DataProvider; Database = settings.DBConnectionString; }