public PowerSchemeSettings(SettingScheme settingScheme) { PowerSchemeGuid = SettingSchemes .Where(p => p.Key == settingScheme) .Select(p => p.Value.Guid).FirstOrDefault(); _settingScheme = settingScheme; }
public PowerSchemeDefaultSettings(SettingScheme settingScheme) { Dictionary <PowerSchemeSetting, int[]> defaultSetting; switch (settingScheme) { case SettingScheme.Stable: defaultSetting = SettingsStable; break; case SettingScheme.Media: defaultSetting = SettingsMedia; break; case SettingScheme.Simple: defaultSetting = SettingsSimple; break; case SettingScheme.Extreme: defaultSetting = SettingsExtreme; break; default: throw new ArgumentOutOfRangeException(nameof(settingScheme), settingScheme, null); } Settings = new Dictionary <PowerSchemeSetting, Values> { { PowerSchemeSetting.ProcessorThrottle, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.ProcessorThrottle][0], defaultSetting[PowerSchemeSetting.ProcessorThrottle][1]), new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.ProcessorThrottle][2], defaultSetting[PowerSchemeSetting.ProcessorThrottle][3])) }, { PowerSchemeSetting.TurnOffDisplay, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.TurnOffDisplay][0], defaultSetting[PowerSchemeSetting.TurnOffDisplay][1])) }, { PowerSchemeSetting.Sleep, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.Sleep][0], defaultSetting[PowerSchemeSetting.Sleep][1])) }, { PowerSchemeSetting.WiFi, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.WiFi][0], defaultSetting[PowerSchemeSetting.WiFi][1])) }, { PowerSchemeSetting.MultimediaPlay, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.MultimediaPlay][0], defaultSetting[PowerSchemeSetting.MultimediaPlay][1])) }, { PowerSchemeSetting.MultimediaShare, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.MultimediaShare][0], defaultSetting[PowerSchemeSetting.MultimediaShare][1])) }, { PowerSchemeSetting.MultimediaQuality, new Values(new PowerSchemeDCACValues(defaultSetting[PowerSchemeSetting.MultimediaQuality][0], defaultSetting[PowerSchemeSetting.MultimediaQuality][1])) } }; }