void setPowerSchemeTimer_Tick(object sender, System.EventArgs e)
 {
     try
     {
         if (this.targetPowerScheme != null)
         {
             var repository = new Domain.PowerSchemeRepository();
             repository.SetActive(this.targetPowerScheme);
         }
     }
     catch (Exception)
     {
     }
 }
        private static string GetPowerSchemesAsString()
        {
            var repository = new Domain.PowerSchemeRepository();
            var stringBuilder = new StringBuilder();

            foreach (var powerScheme in repository.FindAll())
            {
                stringBuilder.Append(powerScheme.Id.ToString());
                stringBuilder.Append(" = ");
                stringBuilder.AppendLine(powerScheme.FriendlyName);
            }

            return stringBuilder.ToString();
        }
        static void Main(string[] args)
        {
            bool runAsDaemon;
            Guid targetPowerSchemeGuid;

            if (!TryParseArgs(args, out runAsDaemon, out targetPowerSchemeGuid))
            {
                runAsDaemon = Properties.Settings.Default.RUN_AS_DAEMON;
                targetPowerSchemeGuid = Properties.Settings.Default.DEFAULT_POWER_SCHEME_GUID;
            }

            var repository = new Domain.PowerSchemeRepository();

            var targetPowerScheme = repository.FindById(targetPowerSchemeGuid);

            if (targetPowerScheme != null)
            {
                var currentPowerScheme = repository.GetActive();

                if (!currentPowerScheme.Equals(targetPowerScheme))
                {
                    repository.SetActive(targetPowerScheme);
                }

                if (!runAsDaemon)
                {
                    // Done!
                    return;
                }
            }


            // Were not able to simply set the active scheme or are running as daemon

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new ShowAvailableSchemes(runAsDaemon, targetPowerScheme));
        }