public async Task <int> Run()
        {
            await ImportConfig.Load();

            var files = CountFiles(Config.SourcePath);

            if (!ConfirmUpload())
            {
                Log.Add("Dataset upload was abandoned.");
                return(1);
            }

            await UploadFiles(files);

            return(0);
        }
        public static async Task Load()
        {
            Instance = new ImportConfig();

            var cwd = Directory.GetCurrentDirectory();

            Log.Add($"Working from {cwd}");

            var configFileName = Path.Combine(cwd, Constants.ConfigFileName);

            if (!File.Exists(configFileName))
            {
                throw new FileNotFoundException("Could not find import configuration file.", Constants.ConfigFileName);
            }

            Log.Add($"Reading configuration from {Constants.ConfigFileName}");
            var fileText = await File.ReadAllTextAsync(configFileName, Encoding.UTF8);

            Instance.Properties = JsonConvert.DeserializeObject <DatasetImportProperties>(fileText);
            Instance.SourcePath = cwd;
        }