Beispiel #1
0
        private FamiliarCommandLineArguments ResolveArguments(CommandLineArgument[] parsedArgs)
        {
            var result = new FamiliarCommandLineArguments();

            if (parsedArgs.Length == 0)
            {
                return(result);
            }

            CommandLineOption.ValidateMutuallyExclusive(parsedArgs, _testFileOpt, _connectOpt, _infoOpt, _helpOpt);
            _testFileOpt.ValidateThisForbidsOthers(parsedArgs, _selectOpt, _databaseOpt);
            _connectOpt.ValidateThisForbidsOthers(parsedArgs, _selectOpt);
            _infoOpt.ValidateThisForbidsOthers(parsedArgs, _selectOpt);
            _helpOpt.ValidateThisForbidsOthers(parsedArgs, _selectOpt, _databaseOpt);

            result.Verbose      = _verboseOpt.ExtractOrNull(parsedArgs) != null;
            result.ShowHelp     = _helpOpt.ExtractOrNull(parsedArgs) != null;
            result.TestFile     = _testFileOpt.ExtractOrNull(parsedArgs)?.Value;
            result.Connect      = _connectOpt.ExtractOrNull(parsedArgs)?.Value;
            result.ShowInfo     = _infoOpt.ExtractOrNull(parsedArgs) != null;
            result.SelectWindow = _selectOpt.ExtractOrNull(parsedArgs) != null;
            result.Database     = _databaseOpt.ExtractOrNull(parsedArgs)?.Value;

            return(result);
        }