예제 #1
0
 private void btnNext_Click(object sender, EventArgs e)
 {
     try
     {
         if (tbDeposit.Text == "")
         {
             throw new DepositException("DepositException: Не указана сумма внесения наличных");
         }
         depositSum = int.Parse(tbDeposit.Text);
         if (depositSum <= 0)
         {
             throw new DepositException("DepositException: Неверная сумма внесения наличных");
         }
         MessageBox.Show(Program.ATM_Kernel_1.Deposit(depositSum), "Внесение наличных", MessageBoxButtons.OK);
         Finish_Panel Finish_Panel_1 = new Finish_Panel();
         Finish_Panel_1.Show();
         this.Close();
     }
     catch
     {
         MessageBox.Show("Операция отклонена! \n\nНекорректная сумма! \n\nЗаберите деньги и попробуйте снова.", "Некорректная сумма", MessageBoxButtons.OK);
     }
 }
예제 #2
0
        private void btnNext_Click(object sender, EventArgs e)
        {
            bool success = false;

            //Получение и проверка суммы снятия
            try
            {
                withdrawSum = int.Parse(tbWithdraw.Text);
                success     = true;
            }
            catch
            {
                MessageBox.Show("Операция отклонена! \n\nНекорректная сумма к выдаче! \n\nВведите другую сумму и нажмите \"Продолжить\".", "Некорректная сумма", MessageBoxButtons.OK);
            }

            if (success)
            {
                int selectCount = 0;
                //Проверка выбранных номиналов купюр
                foreach (CheckBox checkBox in this.Controls.OfType <CheckBox>())
                {
                    {
                        if (checkBox.Checked)
                        {
                            whatDenomination[Convert.ToInt32(checkBox.Tag)] = true;
                            selectCount++;
                        }
                        else if (!checkBox.Checked)
                        {
                            whatDenomination[Convert.ToInt32(checkBox.Tag)] = false;
                        }
                    }
                }
                //Проверка лимитов за одну транзакцию
                try
                {
                    if (withdrawSum > Program.ATM_Settings_1.TransactionLimit)
                    {
                        throw new WithdrawException("WithdrawException: Сумма снятия превышает лимит одной транзакции: " + Program.ATM_Settings_1.TransactionLimit + " руб");
                    }
                    else if (selectCount <= 0)
                    {
                        MessageBox.Show("Не выбраны купюры! Выберите купюры нужного номинала и нажмите \"Продолжить\".", "Не выбраны купюры", MessageBoxButtons.OK);
                    }
                    else if (!Program.ATM_Kernel_1.CheckSum(withdrawSum, whatDenomination))
                    {
                        MessageBox.Show("Указана некорректная сумма или сумма не соответсвует выбранным купюрам! Введите корректную сумму и нажмите \"Продолжить\".", "Некорректная сумма", MessageBoxButtons.OK);
                    }
                    else
                    {
                        //Запуск выдачи, переход к следующему экрану
                        MessageBox.Show(Program.ATM_Kernel_1.Withdraw(withdrawSum, whatDenomination), "Выдача наличных", MessageBoxButtons.OK);
                        Finish_Panel Finish_Panel_1 = new Finish_Panel();
                        Finish_Panel_1.Show();
                        this.Close();
                    }
                }
                catch
                {
                    MessageBox.Show("Сумма снятия не может превышать " + Program.ATM_Settings_1.TransactionLimit + " рублей за одну операцию! Введите другую сумму и нажмите \"Продолжить\".", "Превышен лимит", MessageBoxButtons.OK);
                }
            }
        }