private void button1_Click(object sender, EventArgs e) { if ((waterMarkTextBox1.Text == "") || (waterMarkTextBox2.Text == "") || (waterMarkTextBox3.Text == "") || (waterMarkTextBox3.Text == "_")) { ErrorForm ErrorWindow = new ErrorForm(); ErrorWindow.label1.Text = "Поля формы не могут быть пустыми"; ErrorWindow.ShowDialog(); } else { Result rez = Checks.CheckClient(waterMarkTextBox1.Text, waterMarkTextBox2.Text, waterMarkTextBox3.Text); if (rez.Success) { Close(); } else { ErrorForm ErrorWindow = new ErrorForm(); ErrorWindow.label1.Text = rez.Message; ErrorWindow.ShowDialog(); } } }
/// <summary> /// При корректности данных в файле, загружает базу данных из него и делает ее рабочей базой данных. /// </summary> /// <param name="filePath"> Путь к файлу базы данных. </param> /// <returns> Результат загрузки базы данных. </returns> public static Result LoadInstance(string filePath) { Database database = new Database(); Result result = new Result(true); Result adding = new Result(true); if (File.ReadAllText(filePath).Length < 1) { return(new Result(false) + "Невозможно добавить пустую базу данных"); } foreach (var str in File.ReadAllLines(filePath)) { if (!result.Success || !adding.Success) { break; } var elems = str.Split(' '); switch (str[0]) { case '2': if (elems.Length == 4) { Result res1 = Checks.CheckClient(elems[1], elems[2], elems[3]); result += res1; if (res1) { adding = database.AddClient(new Client(Convert.ToInt32(elems[1]), elems[2], elems[3])); } } else { result.Success = false; result += "Количество аргументов в строке не соответствует количеству параметров клиента"; } break; case '1': if (elems.Length == 4) { Result res2 = Checks.CheckMachine(elems[1], elems[2], elems[3]); result += res2; if (res2) { adding = database.AddMachine(new Machine(Convert.ToInt32(elems[1]), elems[2], elems[3])); } } else { result.Success = false; result += "Количество аргументов в строке не соответствует количеству параметров банкомата"; } break; case '3': if (elems.Length == 5) { Result res3 = Checks.CheckOperation(elems[1], elems[2], elems[3], elems[4]); result += res3; if (res3) { adding = database.AddOperation(new Operation(elems[1], Convert.ToInt32(elems[2]), Convert.ToInt32(elems[3]), Convert.ToInt32(elems[4]))); } } else { result.Success = false; result += "Количество аргументов в строке не соответствует количеству параметров операции"; } break; case '4': if (elems.Length == 5) { Result res4 = Checks.CheckPercent(elems[1], elems[2], elems[3], elems[4]); result += res4; if (res4) { adding = database.AddPercent(new Percent(elems[1], elems[2], elems[3], Convert.ToInt32(elems[4]))); } } else { result.Success = false; result += "Количество аргументов в строке не соответствует количеству параметров процента операции"; } break; default: result.Success = false; result += "Обнаружена строка, начинающаяся с символа \'" + str[0] + "\', который не соответствует ни одному типу данных"; break; } } if (result.Success && (result += adding).Success) { _instance = database; } return(result); }