예제 #1
0
 private void button1_Click(object sender, EventArgs e)
 {
     if ((waterMarkTextBox1.Text == "") || (waterMarkTextBox2.Text == "") || (waterMarkTextBox3.Text == "") || (waterMarkTextBox4.Text == ""))
     {
         ErrorForm ErrorWindow = new ErrorForm();
         ErrorWindow.label1.Text = "Поля формы не могут быть пустыми";
         ErrorWindow.ShowDialog();
     }
     else
     {
         Result rez = Checks.CheckPercent(waterMarkTextBox1.Text, waterMarkTextBox2.Text, waterMarkTextBox3.Text, waterMarkTextBox4.Text);
         if (rez.Success)
         {
             Close();
         }
         else
         {
             ErrorForm ErrorWindow = new ErrorForm();
             ErrorWindow.label1.Text = rez.Message;
             ErrorWindow.ShowDialog();
         }
     }
 }
예제 #2
0
        /// <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);
        }