public static void AutoImport(string[] args, DriveHelper driveHelper) { ContentElement contentElement = null; ContentType contentType = null; importOptions = new ImportOptions(args); bool hasError = false; try { List <Google.Apis.Drive.v3.Data.File> filestoimport; if (importOptions.directory != null) { filestoimport = driveHelper.GetFilesInDirectory(importOptions.directory); } else { var file = driveHelper.GetSingleFile(importOptions.sourceFileName); filestoimport = new List <Google.Apis.Drive.v3.Data.File>(); filestoimport.Add(file); } // Get content type var task = clientDelivery.GetTypeAsync(importOptions.contentTypeName); contentType = task.GetAwaiter().GetResult(); // Obtain target element from content type. Skip for spreadsheets bool allSpreadsheets = true; foreach (var f in filestoimport) { if (!DriveHelper.IsSpreadsheet(f)) { allSpreadsheets = false; break; } } if (!allSpreadsheets) { contentElement = GetElementFromType(contentType, importOptions.targetElementName); } //Import file(s) foreach (var file in filestoimport) { var stream = driveHelper.DownloadFile(file); if (stream != null) { BeginImport(stream, file, contentElement, contentType, importOptions.update); } } } catch (Exception e) { hasError = true; Program.ShowError(e.Message); } Console.WriteLine(hasError ? "Import not complete, please check error messages" : "Import complete"); Console.ReadKey(); }
public static void Run() { ContentType targetType = null; ContentElement targetElement = null; Google.Apis.Drive.v3.Data.File sourceFile = null; bool update = false; bool hasError = false; var files = driveHelper.ListFiles(); if (files != null && files.Count > 0) { sourceFile = VerifySourceFile(files); } else { Program.ShowError("No files found."); Console.ReadKey(); return; } if (!DriveHelper.IsAsset(sourceFile)) { var types = KontentHelper.ListContentTypes(); targetType = VerifyContentType(types); // If imported file is not a spreadsheet, get target element if (!DriveHelper.IsSpreadsheet(sourceFile)) { targetElement = VerifyContentElement(targetType); } update = AskUpdate(); } // Verify data and begin import Console.WriteLine(); if (!CanImport(sourceFile, targetElement, targetType)) { ShowError("Something went wrong.. Please press any key to close."); Console.ReadKey(); return; } else { try { var stream = driveHelper.DownloadFile(sourceFile); if (stream != null) { KontentHelper.BeginImport(stream, sourceFile, targetElement, targetType, update); } } catch (Exception e) { hasError = true; ShowError(e.Message); } finally { Console.WriteLine(hasError ? "Import completed with error(s), please check error messages" : "Import complete"); // Ask if user wants to run import again Console.WriteLine("Do you want to perform another import? [Enter = Yes, Any other key = Quit]"); if (Console.ReadKey().Key == ConsoleKey.Enter) { Run(); } } } }