static int Main(string[] args) { CommandLineParsingResult <Options> parsingResult = CommandLineParser <Options> .Parse(args); CommandLineResult resultCode = CommandLineParser.ValidateOptions(parsingResult); if (resultCode > CommandLineResult.NoErrors) { return((int)resultCode); } if (resultCode == CommandLineResult.EmptyArgs) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new POCOGeneratorForm()); } else if (resultCode == CommandLineResult.NoErrors) { ComandLineWriter writer = new ComandLineWriter(parsingResult.Options); CommandLineResult result = writer.Export(); return((int)result); } return(0); }
public static CommandLineResult ValidateOptions(CommandLineParsingResult <Options> parsingResult) { // empyt args if (parsingResult.EmptyArgs) { return(CommandLineResult.EmptyArgs); } // parsing error if (parsingResult.HasErrors) { return(CommandLineResult.CommandLineParsingError); } // mutually exclusive set if (parsingResult.HasMutuallyExclusiveSetErrors) { if (parsingResult.InvalidMutuallyExclusiveSetsByDefaultValues != null && parsingResult.InvalidMutuallyExclusiveSetsByDefaultValues.Count() > 0) { if (parsingResult.InvalidMutuallyExclusiveSetsByDefaultValues.Contains("Set1")) { parsingResult.Options.IsProperties = false; } if (parsingResult.InvalidMutuallyExclusiveSetsByDefaultValues.Contains("Set2")) { parsingResult.Options.IsNavigationPropertiesList = false; } if (parsingResult.InvalidMutuallyExclusiveSets.Except(parsingResult.InvalidMutuallyExclusiveSetsByDefaultValues).Count() > 0) { return(CommandLineResult.CommandLineMutuallyExclusiveSetError); } } else { return(CommandLineResult.CommandLineMutuallyExclusiveSetError); } } // missing connection string if (string.IsNullOrEmpty(parsingResult.Options.ConnectionString)) { return(CommandLineResult.MissingConnectionString); } // connection string validity try { using (DataConnectionDialog dcd = new DataConnectionDialog()) { dcd.DataSources.Add(DataSource.SqlDataSource); dcd.DataSources.Add(DataSource.SqlFileDataSource); dcd.SelectedDataSource = DataSource.SqlDataSource; dcd.SelectedDataProvider = DataProvider.SqlDataProvider; dcd.ConnectionString = parsingResult.Options.ConnectionString; } } catch { return(CommandLineResult.MalformedConnectionString); } // missing export folder if (string.IsNullOrEmpty(parsingResult.Options.Folder)) { return(CommandLineResult.MissingExportFolder); } // export folder doesn't exist if (Directory.Exists(parsingResult.Options.Folder) == false) { return(CommandLineResult.ExportFolderNotExist); } // no errors return(CommandLineResult.NoErrors); }