private void ConfigurationPart2() { _db.GetCollection <Game>("games").Delete(x => true); _db.GetCollection <GameApplication>("game_apps").Delete(x => true); _db.GetCollection <UserProfile>("profiles").Delete(x => true); _db.GetCollection <Game>("games").InsertBulk(_games); var gameApps = _games.SelectMany(x => x.AutoDetectApplications()); _db.GetCollection <GameApplication>("game_apps").InsertBulk(gameApps); foreach (var item in _games) { _profilesManager.AddProfile("master", item); _dbProfiles.Add(new DatabaseContext_Profile(item.ProfilesDirectory + "\\master", item.Id)); } Defined.Settings.State = StatesOfConfiguration.Ready; switch (_purpose) { case ConfigurationPurpose.FirstTime: MainWindow window = new MainWindow(_mutex, _db, _jsonParser, _namedPipeManager, _dbProfiles, _profilesManager); window.Show(); Close(); break; case ConfigurationPurpose.AddGames: _uponConfigured?.Invoke(); break; } }