/// <summary> /// The main entry point for the application. /// </summary> static int Main(string[] args) { InitializeServiceLocator(); ConsoleLog("Asset Importer v" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + " Copyright 2011-2012 EPiServer AB\n"); string csvFile = null; string assetFolder = null; string importFolder = "Catalogs"; string sitePath = null; switch (args.Length) { case 0: DisplayUsage(); return(0); case 1: ConsoleLog("Arguments incorrect."); return(1); case 2: ConsoleLog("Arguments incorrect."); return(2); default: csvFile = args[0]; assetFolder = args[1]; sitePath = args[2]; break; } bool importByAsset = false; bool uselegacy = false; bool mappingOnly = false; for (int i = 3; i < args.Length; i++) { if (i == 3 && args[i][0] != '-') { importFolder = args[i]; continue; } switch (args[i].ToLower()) { case "-byasset": importByAsset = true; break; case "-uselegacy": uselegacy = true; break; case "-mappingonly": mappingOnly = true; break; case "-verbose": break; default: ConsoleLogFormat("Invalid command line option {0}.", args[i]); DisplayUsage(); return(1); } } var stopwatch = Stopwatch.StartNew(); ConsoleLog("Reading mappings from " + csvFile); ConsoleLog("Importing assets from " + assetFolder); ConsoleLog("Importing assets to " + importFolder); ConsoleLog("Site Path " + sitePath); ImportBase importer = null; if (!uselegacy) { if (!mappingOnly) { importer = new ImportByCmsContent(assetFolder, importFolder, sitePath); } else { importer = new CmsContentMapping(ServiceLocator.Current.GetInstance <IConnectionStringHandler>()); } } else { InitAssetDatabase(); InitECFAppContext(); if (importByAsset) { importer = new ImportByAsset(assetFolder, importFolder); } else { importer = new ImportByProduct(assetFolder, importFolder); } } var reader = new CsvReader(csvFile); importer.DoImport(reader.Entries()); stopwatch.Stop(); ConsoleLog("\nElapsed time " + stopwatch.Elapsed.ToString()); return(0); }