static void Main(string[] args) { InputParameters parameters = null; if (args.Length >= 1 && string.Equals(args[0], "--CreateSettingsFile" , StringComparison.OrdinalIgnoreCase)) { InputParametersWorker.CreateSettingsFile(args); return; } else if (args.Length == 3 && string.Equals(args[0], "--CreateSqlFile" , StringComparison.OrdinalIgnoreCase)) { parameters = InputParametersWorker.ReadSettingsFile(args[1]); var sheet = SheetRetriever.Get(parameters.SourceFileName, parameters.WorksheetName); var reader = new SourceReader(sheet, parameters); var sql_lines = SqlFileCreator.MakeFileForLugbulkDatabase(reader); File.WriteAllLines(args[2], sql_lines); return; } else if (args.Length == 4 && string.Equals(args[0], "--UseLists" , StringComparison.OrdinalIgnoreCase)) { var orders = File.ReadAllLines(args[1]).ToList(); var elements = File.ReadAllLines(args[2]).ToList(); var reader = new CsvFileSourceReader(orders, elements); ExcelCreator.CreateAllExcelFiles(reader, args[3]); return; } else if (args.Length == 1 && File.Exists(args[0])) { parameters = InputParametersWorker.ReadSettingsFile(args[0]); } else if (args.Length == 9) { parameters = InputParametersWorker. GetInputParametersFromArguments(args); } if (parameters != null) { string validation_message = ""; if (!InputParametersWorker.ValidateParameters (parameters, out validation_message)) { Console.WriteLine(validation_message); return; } var sheet = SheetRetriever.Get(parameters.SourceFileName, parameters.WorksheetName); var reader = new SourceReader(sheet, parameters); ExcelCreator.CreateAllExcelFiles(reader, parameters.OutputFolder); return; } Console.WriteLine("Commands: "); Console.WriteLine(""); Console.WriteLine("ListMakerTwo.exe <Source File Name> <Sheet Name> " + "<ElementId Span> <Buyers Span> <BrickLink Description Span> " + "<BrickLinkId Span> <BrickLink Color Span> <TLG Color Span>" + "<output folder>"); Console.WriteLine(""); Console.WriteLine("ListMakerTwo.exe <settings file>"); Console.WriteLine(""); Console.WriteLine("ListMakerTwo.exe --CreateSettingsFile [Optional settings file name]"); Console.WriteLine("(Default file name will be base_settings.txt)"); Console.WriteLine(""); Console.WriteLine("ListMakerTwo.exe --CreateSqlFile <settings file> <output file>"); Console.WriteLine(""); Console.WriteLine("ListMakerTwo.exe --UseLists <orders data file> <element data file> <output folder>"); }
public static bool ValidateParameters(InputParameters parameters, out string validation_message) { validation_message = "Parameters OK!"; if (string.IsNullOrEmpty(parameters.SourceFileName)) { validation_message = "SourceFileName not set!"; return(false); } if (!File.Exists(parameters.SourceFileName)) { validation_message = "Source file not found!"; return(false); } XLWorkbook workbook = null; try { workbook = new XLWorkbook(parameters.SourceFileName); } catch (Exception ex) { validation_message = "Failed to open file set in SourceFileName: " + ex.Message; return(false); } if (workbook == null) { validation_message = "Failed to open file defined in SourceFileName."; return(false); } if (string.IsNullOrEmpty(parameters.WorksheetName)) { validation_message = "WorksheetName not set!"; return(false); } if (!workbook.Worksheets.Any(x => x.Name == parameters.WorksheetName)) { validation_message = "Failed to find sheet defined in WorksheetName."; return(false); } var sheet = workbook.Worksheets.First(x => x.Name == parameters.WorksheetName); if (sheet == null) { validation_message = "Failed to open sheet defined in WorksheetName."; return(false); } if (string.IsNullOrEmpty(parameters.BuyersSpan)) { validation_message = "BuyersSpan not set!"; return(false); } if (!ValidateSpanParameter(sheet, parameters.BuyersSpan)) { validation_message = "Failed to retrieve span defined in BuyersSpan."; return(false); } if (string.IsNullOrEmpty(parameters.ElementIdSpan)) { validation_message = "ElementIdSpan not set!"; return(false); } if (!ValidateSpanParameter(sheet, parameters.ElementIdSpan)) { validation_message = "Failed to retrieve span defined in ElementIdSpan."; return(false); } if (string.IsNullOrEmpty(parameters.BrickLinkDescriptionSpan)) { validation_message = "BrickLinkDescriptionSpan not set!"; return(false); } if (!ValidateSpanParameter(sheet, parameters.BrickLinkDescriptionSpan)) { validation_message = "Failed to retrieve span defined in BrickLinkDescriptionSpan."; return(false); } if (string.IsNullOrEmpty(parameters.BrickLinkIdSpan)) { validation_message = "BrickLinkIdSpan not set!"; return(false); } if (!ValidateSpanParameter(sheet, parameters.BrickLinkIdSpan)) { validation_message = "Failed to retrieve span defined in BrickLinkIdSpan."; return(false); } if (string.IsNullOrEmpty(parameters.BrickLinkColorSpan)) { validation_message = "BrickLinkColorSpan not set!"; return(false); } if (!ValidateSpanParameter(sheet, parameters.BrickLinkColorSpan)) { validation_message = "Failed to retrieve span defined in BrickLinkColorSpan."; return(false); } if (string.IsNullOrEmpty(parameters.TlgColorSpan)) { validation_message = "TlgColorSpan not set!"; return(false); } if (!ValidateSpanParameter(sheet, parameters.TlgColorSpan)) { validation_message = "Failed to retrieve span defined in TlgColorSpan."; return(false); } if (string.IsNullOrEmpty(parameters.OutputFolder)) { validation_message = "SourceFileName not set!"; return(false); } if (!Directory.Exists(parameters.OutputFolder)) { validation_message = "Output folder not found!"; return(false); } return(true); }