private void UpdatePackageInfo(string[] args) { int database_id = -1; string new_package_name = null; string new_package_id = null; while (true) { if (database_id < 0) { Console.Write("データベースのID: "); string temp_dbid = Console.ReadLine(); if (temp_dbid == null || !(int.TryParse(temp_dbid, out database_id) && database_id > 0)) { Console.WriteLine("不正な入力です。もう一度入力してください。"); database_id = -1; continue; } } if (new_package_name == null) { Console.Write("新しいパッケージ名: "); new_package_name = Console.ReadLine(); } if (new_package_id == null) { Console.Write("新しいパッケージID: "); new_package_id = Console.ReadLine(); } break; } PackageDB package_db = new PackageDB(); PackageInfo package_info = package_db.FindPackageInfoById(database_id); if (package_info.ExistPackage == false) { Console.WriteLine($"データベースID {database_id} は存在しません。"); return; } Console.WriteLine("-- 元のパッケージ情報 --"); Console.WriteLine($"データベースID(変更不可): {package_info.Id}"); Console.WriteLine($"パッケージ名: {package_info.PackageName}"); Console.WriteLine($"パッケージID: {package_info.PackageId}"); Console.WriteLine("----"); Console.WriteLine("新しい情報を代入しています…"); if (new_package_name != null) { package_info.PackageName = new_package_name; } if (new_package_id != null) { package_info.PackageId = new_package_id; } Console.WriteLine("情報を更新しています…"); package_db.UpdatePackageInfo(package_info); Console.WriteLine("完了"); return; }