string OverwritePrompt(string filename) { switch (existingFileAction) { case ExistingFileAction.Skip: return(null); case ExistingFileAction.Overwrite: return(filename); case ExistingFileAction.Rename: return(GetPathToRename(filename)); } Console.WriteLine(string.Format($"The file {filename} already exists. Overwrite? [Y]es | [N]o | [A]lways | n[E]ver | [R]ename | A[l]ways rename")); while (true) { switch (Console.Read()) { case 'y': case 'Y': return(filename); case 'n': case 'N': return(null); case 'a': case 'A': existingFileAction = ExistingFileAction.Overwrite; return(filename); case 'e': case 'E': existingFileAction = ExistingFileAction.Skip; return(null); case 'r': case 'R': return(GetPathToRename(filename)); case 'l': case 'L': existingFileAction = ExistingFileAction.Rename; return(GetPathToRename(filename)); } } }
private void AbortButton_Click(object sender, RoutedEventArgs e) { this.DialogResult = false; this.FileAction = ExistingFileAction.Abort; }
private void RenameButton_Click(object sender, RoutedEventArgs e) { this.DialogResult = true; this.FileAction = ExistingFileAction.Rename; }