public void ChoiseVersion() { while (true) { string[] current_versions = versions; while (true) { if (current_versions.Length == 0 || current_versions.Length == 1) { break; } //Console.WriteLine($"Have {current_versions.Length} versions"); Console.WriteLine("Enter year:"); Console.Write("> "); string year = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0) { Console.WriteLine("Enter positive integer (year)!"); Console.Write("> "); year = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, year, 4, 0); //Console.WriteLine($"Have {current_versions.Length} versions"); if (current_versions.Length == 0 || current_versions.Length == 1) { break; } Console.WriteLine("Enter month:"); Console.Write("> "); string month = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0 && t > 12) { Console.WriteLine("Enter integer between 0 and 12 (month)!"); Console.Write("> "); month = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, month, 2, 5); //Console.WriteLine($"Have {current_versions.Length} versions"); if (current_versions.Length == 0 || current_versions.Length == 1) { break; } Console.WriteLine("Enter day:"); Console.Write("> "); string day = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0 && t > 31) { Console.WriteLine("Enter integer between 0 and 31 (day)!"); Console.Write("> "); day = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, day, 2, 8); //Console.WriteLine($"Have {current_versions.Length} versions"); if (current_versions.Length == 0 || current_versions.Length == 1) { break; } Console.WriteLine("Enter hour:"); Console.Write("> "); string hour = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0 && t > 23) { Console.WriteLine("Enter integer between 0 and 23 (hour)!"); Console.Write("> "); hour = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, hour, 2, 11); //Console.WriteLine($"Have {current_versions.Length} versions"); if (current_versions.Length == 0 || current_versions.Length == 1) { break; } Console.WriteLine("Enter minute:"); Console.Write("> "); string minute = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0 && t > 59) { Console.WriteLine("Enter integer between 0 and 59 (minute)!"); Console.Write("> "); minute = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, minute, 2, 14); //Console.WriteLine($"Have {current_versions.Length} versions"); if (current_versions.Length == 0 || current_versions.Length == 1) { break; } Console.WriteLine("Enter second:"); Console.Write("> "); string second = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0 && t > 59) { Console.WriteLine("Enter integer between 0 and 59 (second)!"); Console.Write("> "); second = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, second, 2, 17); //Console.WriteLine($"Have {current_versions.Length} versions"); if (current_versions.Length == 0 || current_versions.Length == 1) { break; } Console.WriteLine("Enter milisecond:"); Console.Write("> "); string milisecond = Console.ReadLine(); while (!int.TryParse(year, out var t) && t < 0 && t > 999) { Console.WriteLine("Enter integer between 0 and 999 (milisecond)!"); Console.Write("> "); milisecond = Console.ReadLine(); } current_versions = UpdateCurrentVersions(current_versions, milisecond, 3, 20); //Console.WriteLine($"Have {current_versions.Length} versions"); break; } if (current_versions.Length != 1) { Console.WriteLine("Error! Have not this version."); Console.WriteLine("1 - try agan"); Console.WriteLine("0 - exit"); int input = 0; while (!int.TryParse(Console.ReadLine(), out input) && (input != 0 || input != 1)) { Console.WriteLine("Enter 1 or 0"); Console.Write("> "); } if (input == 0) { return; } else { continue; } } if (current_versions.Length == 1) { Console.WriteLine($"Find version {current_versions[0]}"); Console.WriteLine("Recovery?"); Console.WriteLine("1 - Yes"); Console.WriteLine("2 - No"); Console.WriteLine("0 - Exit"); int input = 0; while (!int.TryParse(Console.ReadLine(), out input) && (input != 0 || input != 1 || input != 2)) { Console.WriteLine("Enter 1, 2 or 0"); Console.Write("> "); } if (input == 0) { return; } if (input == 1) { RecoveryMaster.RecoverySave(current_versions[0]); Console.WriteLine("Recovery successful"); } else { continue; } } break; } }
public RecoveryUI() { versions = RecoveryMaster.GetVersions(); }