private void Export(DataTable dataTable) { if (csvRadioButton.Checked) { ExportToCsv.Export(dataTable, _fileName, _dataViewerParameters); } else if (sqlRadioButton.Checked) { ExportToSql.Export(dataTable, _fileName, _dataViewerParameters); } else { ExportToPtt.Export(dataTable, databaseNameTextBox.Text.Trim(), _fileName); } }
public Task SaveAsync(CancellationToken cancellationToken) { var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings.Clear(); config.AppSettings.Settings.Add(IlrDatabaseConnectionStringKey, IlrDatabaseConnectionString); config.AppSettings.Settings.Add(OutputDirectoryKey, OutputDirectory); config.AppSettings.Settings.Add(ExportToSqlKey, ExportToSql.ToString()); config.AppSettings.Settings.Add(ExportToAccessAndCsvKey, ExportToAccessAndCsv.ToString()); config.AppSettings.Settings.Add(ReferenceDataVersionKey, ReferenceDataVersion); config.Save(ConfigurationSaveMode.Modified); return(Task.CompletedTask); }
static async Task Main(string[] args) { using var cancellationToken = new CancellationTokenSource(); Console.CancelKeyPress += (sender, eventArgs) => { // ReSharper disable AccessToDisposedClosure if (!cancellationToken.IsCancellationRequested) { cancellationToken.Cancel(); } // ReSharper restore AccessToDisposedClosure }; var cmd = args.Length == 0 ? "markdown" : args[0].Trim().ToLowerInvariant(); var search = args.Length < 2 ? "18452" : args[1].Trim(); var commandletArgs = args.Skip(1).ToArray(); switch (cmd) { case "blizzard": var commandlet = new BlizzardApiCommandlet(commandletArgs, cancellationToken.Token); await commandlet.Execute(); break; case "caches": await ScanCache.Execute(); break; case "search": await SearchDatabase.Execute(search); break; case "sql": ExportToSql.Execute(); break; case "mdt": //using (var file = File.OpenRead(@"D:\Work\RoboKiwi.gg\src\RoboKiwi.Core\Models\MethodDungeonTools.json")) var json = await File.ReadAllTextAsync(@"D:\Work\RoboKiwi.gg\src\RoboKiwi.Core\Models\MethodDungeonTools.json"); { //dynamic model = await JsonSerializer.DeserializeAsync<dynamic>(file, options, CancellationToken.None); dynamic model = JsonConvert.DeserializeObject(json); foreach (var dungeon in model.global.dungeonEnemies) { if (dungeon == null) { continue; } foreach (var enemy in dungeon) { if (enemy == null) { continue; } Console.WriteLine(enemy.name); } } } break; case "journal": await ExtractJournal(); break; case "markdown": var markdown = new MarkdownCommandlet(commandletArgs, cancellationToken.Token); await markdown.Execute(); break; case "json": await GenerateJson(); break; default: throw new ArgumentOutOfRangeException(nameof(args)); } }