private async Task PerformStart() { _databaseBackuper = new DatabaseBackuper(DatabaseFilepath); SettingsManager.HandleSettingsUpgrade(); while (true) { ContainerBuilder builder = null; using (new MeasureTimeWrapper(() => builder = AutofacConfiguration.ContainerBuilder(), "ContainerBuilder")) { } var init = await HandleApplicationInit(builder); try { //it could be using, but then there is problem with resolving func factory... anyway it will die with app. IContainer container = null; using (new MeasureTimeWrapper(() => container = builder.Build(), "Container.Build")) { } if (HandleInitDataGeneration(init, container)) { return; } using (new MeasureTimeWrapper(() => container.Resolve <MainWindow>().Show(), "Resolve<MainWindow>.Show")) { } await _updater.HandleApplicationUpdatesCheck(); break; } catch (LiteException exception) { _logger.Value.Error("Loading app failed", exception); } } }
static async Task BackupDatabaseAsync( ILoggerFactory loggerFactory, CancellationToken cancellationToken) { var uploader = new DatabaseBackuper( Options, loggerFactory); await uploader.BackupAsync(cancellationToken); }