private SettingManager GetSettings() { var settingLoader = Container.ResolveGlobalInstance <ISettingLoader>(); var settingManager = new SettingManager(); settingManager.RegisterSettingMapping( "hibernateEnabled", new SettingMapping() { Load = () => { return(File.Exists(@"C:\hiberfil.sys").ToString()); }, Apply = (value) => { bool isSet; bool isAdmin; string isAdminValue = Container.ResolveGlobalInstance <ISettingManager>().GetSettings()["isAdmin"]; if (bool.TryParse(value, out isSet) && bool.TryParse(isAdminValue, out isAdmin) && isAdmin) { WindowsSystemHelpers.SetHibernate(isSet); } } } ); settingManager.RegisterSettingMapping( "isAdmin", new SettingMapping() { Load = () => { var identity = WindowsIdentity.GetCurrent(); var principal = new WindowsPrincipal(identity); return(principal.IsInRole(WindowsBuiltInRole.Administrator).ToString()); }, Apply = (value) => { } } ); settingManager.RegisterSettingMapping( "modernStandbyEnabled", new SettingMapping() { Load = () => { return(settingLoader.GetSetting("modernStandbyEnabled") ?? bool.FalseString); }, Apply = (value) => { settingLoader.ApplySetting("modernStandbyEnabled", value); } } ); settingManager.RegisterSettingMapping( "logLevel", new SettingMapping() { Load = () => { return(settingLoader.GetSetting("logLevel") ?? LogLevel.Warning.ToString()); }, Apply = (value) => { settingLoader.ApplySetting("logLevel", value); } } ); settingManager.GatherSettings(); return(settingManager); }