/// <summary>
        /// Configures the settings.
        /// </summary>
        /// <param name="settings">The settings.</param>
        private void ConfigureSettings(ref ParachuteSettings settings)
        {
            for (var i = 0; i < Arguments.Count(); i++)
            {
                switch (Arguments[i])
                {
                case "--help":
                    throw new ParachuteAbortException(ResourceManager.GetFullUsageMessage());

                case "--version":
                    throw new ParachuteAbortException(ResourceManager.GetVersionInformationMessage());

                case "-s":
                case "--server":
                    settings.Server = Arguments[++i];
                    break;

                case "-d":
                case "--database":
                    settings.Database = Arguments[++i];
                    break;

                case "-u":
                case "--username":
                    settings.Username = Arguments[++i];
                    break;

                case "-p":
                case "--password":
                    settings.Password = Arguments[++i];
                    break;

                case "-c":
                case "--connection":
                    settings.ConnectionString = Arguments[++i];
                    break;

                case "--setup":
                    settings.SetupDatabase = true;
                    break;

                case "--configfile":
                case "-f":
                    settings.ConfigFilePath = Arguments[++i];
                    break;

                case "-t":
                case "--test":
                    settings.TestMode = true;
                    break;
                }
            }
        }
        /// <summary>
        /// Parses the settings.
        /// </summary>
        /// <returns>A populated <see cref="ParachuteSettings"/> objects</returns>
        public ParachuteSettings ParseSettings()
        {
            var settings = new ParachuteSettings();

            if (!Arguments.Any())
            {
                throw new ParachuteAbortException(ResourceManager.GetUsageMessage());
            }

            ConfigureOutput();

            ConfigureSettings(ref settings);

            return settings;
        }
        /// <summary>
        /// Parses the settings.
        /// </summary>
        /// <returns>A populated <see cref="ParachuteSettings"/> objects</returns>
        public ParachuteSettings ParseSettings()
        {
            var settings = new ParachuteSettings();

            if (!Arguments.Any())
            {
                throw new ParachuteAbortException(ResourceManager.GetUsageMessage());
            }

            ConfigureOutput();

            ConfigureSettings(ref settings);

            return(settings);
        }
 /// <summary>
 /// Configures the settings.
 /// </summary>
 /// <param name="settings">The settings.</param>
 private void ConfigureSettings(ref ParachuteSettings settings)
 {
     for (var i = 0; i < Arguments.Count(); i++)
     {
         switch (Arguments[i])
         {
             case "--help":
                 throw new ParachuteAbortException(ResourceManager.GetFullUsageMessage());
             case "--version":
                 throw new ParachuteAbortException(ResourceManager.GetVersionInformationMessage());
             case "-s":
             case "--server":
                 settings.Server = Arguments[++i];
                 break;
             case "-d":
             case "--database":
                 settings.Database = Arguments[++i];
                 break;
             case "-u":
             case "--username":
                 settings.Username = Arguments[++i];
                 break;
             case "-p":
             case "--password":
                 settings.Password = Arguments[++i];
                 break;
             case "-c":
             case "--connection":
                 settings.ConnectionString = Arguments[++i];
                 break;
             case "--setup":
                 settings.SetupDatabase = true;
                 break;
             case "--configfile":
             case "-f":
                 settings.ConfigFilePath = Arguments[++i];
                 break;
             case "-t":
             case "--test":
                 settings.TestMode = true;
                 break;
         }
     }
 }