private static async Task <LogUploaderUI2> CreateUI2(LogUploaderLogic logic, IProgress <double> progress = null) { LogUploaderUI2 ui = null; await Task.Run(() => ui = new LogUploaderUI2(logic, progress)); return(ui); }
private static async Task <Form> LoadApplication(IProgress <ProgressMessage> progress, string[] args, CancellationToken ct, CancellationTokenSource cts) { //await Task.Delay(10000); SetUpLocalisation(); progress.Report(new ProgressMessage(0.01, "Processing command line Arguments")); var flags = ProcessCommandLineArgs(args); #if DEBUG #elif BETA #elif ALPHA #else if (flags.OverrideLogLevel) { Logger.LogLevel = flags.LogLevel; } #endif progress.Report(new ProgressMessage(0.02, "Loading Settings")); SettingsData settings = null; { Settings mainSettings; try { mainSettings = LoadSettings(flags); settings = new SettingsData(mainSettings); } catch (SettingInitException e) { Logger.LogException(e); MessageBox.Show("Faild to Load Settings", "Load Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Exit(ExitCode.LOAD_SETTINGS_ERROR); } } Logger.Message("Setup - SetLanguage"); SetLanguage(settings); Logger.Message("Setup - Load json's"); LoadJsonData(new Progress <ProgressMessage>((p) => progress.Report(new ProgressMessage(0.06 + (p.Percent * 0.04), "Loading static Data" + " - " + p.Message)))); if (ct.IsCancellationRequested) { return(null); } cts.CancelAfter(TimeSpan.FromMinutes(5)); Logger.Message("Setup - Check for updates"); Action UpdateReuest = await CheckForUpdates(settings, new Progress <ProgressMessage>(p => new ProgressMessage(0.10 + (p.Percent * 0.05), p.Message)), ct); cts.CancelAfter(Timeout.Infinite); if (ct.IsCancellationRequested) { return(null); } cts.CancelAfter(TimeSpan.FromMinutes(5)); Logger.Message("Setup - Check for updates EI"); await InitEliteInsights(settings, settings, new Progress <ProgressMessage>((p) => progress.Report(new ProgressMessage(0.15 + (p.Percent * 0.05), "Init EliteInsights" + " - " + p.Message))), ct); cts.CancelAfter(Timeout.Infinite); if (ct.IsCancellationRequested) { return(null); } Logger.Message("Setup - Init DB"); InitDB(new Progress <ProgressMessage>((p) => progress.Report(new ProgressMessage(0.20 + (p.Percent * 0.05), "Local DB" + " - " + p.Message)))); progress.Report(new ProgressMessage(0.26, "Loading")); if (ct.IsCancellationRequested) { return(null); } Helper.DiscordPostGen.DiscordPostGenerator.Settings = settings; Logger.Message("Setup - Logic"); var newLogic = new LogUploaderLogic(); await newLogic.InitLogUploaderLogic(settings, flags.EnableAutoParse, flags.EnableAutoUpload, new Progress <ProgressMessage>(pm => progress.Report(new ProgressMessage(0.27f + (pm.Percent * 0.64f), "Loading - " + pm.Message))) ); if (ct.IsCancellationRequested) { return(null); } Cleanup = () => { newLogic.Dispose(); UpdateReuest?.Invoke(); }; Logger.Message("Setup - UI"); //return await CreateUI(logic, flags); return(await CreateUI2(newLogic, new Progress <double>(p => progress.Report(new ProgressMessage(0.91 + (p * 0.07), "Creating UI"))))); }