private void PerformMigration(GameMigrationConflictSolution solution) { switch (solution) { case GameMigrationConflictSolution.NoDecisionThisTime: case GameMigrationConflictSolution.NoDecision: break; case GameMigrationConflictSolution.KeepGamesXml: File.Delete(oldGameListFilename); break; case GameMigrationConflictSolution.KeepBoth: WriteGamesFromBothFiles(); File.Delete(oldGameListFilename); break; case GameMigrationConflictSolution.NoConflict: case GameMigrationConflictSolution.KeepProfilesXml: default: File.Delete(DataManagers.GameListFilename); WriteDocument(); File.Delete(oldGameListFilename); break; } }
void ContinueAndCloseIfAgeed(GameMigrationConflictSolution solution) { if (AskForConfirmation(solution)) { ConflictSolution = solution; DialogResult = DialogResult.OK; Close(); } }
/// <returns>True if user confirmed</returns> bool AskForConfirmation(GameMigrationConflictSolution solution) { StringBuilder messageBuilder = new StringBuilder(); switch (solution) { case GameMigrationConflictSolution.KeepProfilesXml: messageBuilder.AppendLine("Are you sure to keep ONLY games from file profiles.xml?"); break; case GameMigrationConflictSolution.KeepGamesXml: messageBuilder.AppendLine("Are you sure to keep ONLY games from file games.xml?"); break; case GameMigrationConflictSolution.KeepBoth: messageBuilder.AppendLine("Are you sure to keep ALL games from both files?"); break; case GameMigrationConflictSolution.NoDecisionThisTime: return(true); default: MessageBox.Show( "Please choose at least one option", "Custom SDK Launcher", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } messageBuilder.Append("This can not be undone"); var dialogResult = MessageBox.Show( messageBuilder.ToString(), "Custom SDK Launcher", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); return(dialogResult == DialogResult.Yes); }
private void OkButton_Click(object sender, EventArgs e) { GameMigrationConflictSolution solution = GameMigrationConflictSolution.NoDecision; if (ignoreFutureConflictsCheckBox.Checked) { Config.AddVariable("IgnoreGameMigrationConflicts", true); } foreach (Control c in Controls) { if (c is RadioButton radioButton) { if (radioButton.Checked) { solution = (GameMigrationConflictSolution)radioButton.Tag; break; } } } ContinueAndCloseIfAgeed(solution); }