Exemplo n.º 1
0
        // press ENTER in state custom widthdraw
        private void pressEnterCustomWidthdraw()
        {
            bool check = stockBUL.updateQuantity(Convert.ToInt32(CustomWidthdraw.Instance.getTextBoxCustom()));

            if (check)
            {
                if (!panelMain.Controls.Contains(Success.Instance))
                {
                    panelMain.Controls.Add(Success.Instance);
                    Success.Instance.Dock = DockStyle.Fill;
                    Success.Instance.BringToFront();
                }
                else
                {
                    Success.Instance.BringToFront();
                }
                state = "success";
                createLog("logtype01", Convert.ToInt32(CustomWidthdraw.Instance.getTextBoxCustom()), "", lbCardNo.Text, "atm01", "Thành công");
                accountBUL.updateBalance(Convert.ToInt32(CustomWidthdraw.Instance.getTextBoxCustom()), lbCardNo.Text);
            }
            else
            {
                if (!panelMain.Controls.Contains(Fail.Instance))
                {
                    panelMain.Controls.Add(Fail.Instance);
                    Fail.Instance.Dock = DockStyle.Fill;
                    Fail.Instance.BringToFront();
                }
                else
                {
                    Fail.Instance.BringToFront();
                }
                state = "fail";
            }
        }
Exemplo n.º 2
0
        // Function Withdraw
        private void withdraw(int money)
        {
            string cardNo             = getTextBoxCardNo();
            bool   checkMaxWithDraw   = configBUL.getMaxWithDraw(money);                                       //trong bảng Config
            bool   checkBalanceAndOD  = accountBUL.checkBalanceAndOverDraft(cardNo, money);                    // trong bảng OverDraft
            bool   checkWithdrawLimit = withdrawLimitBUL.checkWithdrawLimit("LT001", "ATM001", cardNo, money); // trong bảng Withdraw Limit

            if (!checkMaxWithDraw)                                                                             // Vượt quá số tiền hệ thống / 1 lần rút
            {
                Task delay = Task.Delay(5000);
                addUserControl(OverMaximumWithDraw.Instance);
                delay.Wait();
                addUserControl(Withdraw.Instance);
                CustomWithDraw.Instance.clearTextBoxCustomWithDraw();
            }
            else if (!checkBalanceAndOD)  // K đủ số dư và thấu chi
            {
                Task delay = Task.Delay(4000);
                addUserControl(OverMinimumBalance.Instance);
                OverMinimumBalance.Instance.setTextBoxBalance(accountBUL.getBalance(getTextBoxCardNo()));
                delay.Wait();
                addUserControl(Withdraw.Instance);
                CustomWithDraw.Instance.clearTextBoxCustomWithDraw();
            }
            else if (!checkWithdrawLimit)   // Vượt quá số tiền rút trong ngày
            {
                Task delay = Task.Delay(4000);
                addUserControl(WithdrawLimit.Instance);
                delay.Wait();
                addUserControl(Withdraw.Instance);
                CustomWithDraw.Instance.clearTextBoxCustomWithDraw();
            }
            else
            {
                string updateStock = stockBUL.updateQuantity(money);

                if (updateStock.Equals("ErrorMoneyType"))   // sai kiểu tiền và bội số
                {
                    Task delay = Task.Delay(3000);
                    addUserControl(ErrorMoneyType.Instance);
                    delay.Wait();
                    addUserControl(CustomWithDraw.Instance);
                    CustomWithDraw.Instance.clearTextBoxCustomWithDraw();
                    state = "CustomWithdraw";
                    return;
                }
                else if (updateStock.Equals("ErrorSystem")) // Lỗi hệ thống (Hết tiền)
                {
                    Task delay = Task.Delay(4000);
                    addUserControl(ErrorSystem.Instance);
                    delay.Wait();
                    addUserControl(Withdraw.Instance);
                    CustomWithDraw.Instance.clearTextBoxCustomWithDraw();
                }
                else    // Thành công
                {
                    bool updateBalance = accountBUL.updateBalance(money, cardNo);
                    if (updateBalance)
                    {
                        addUserControl(SuccessWithDraw.Instance);
                        SuccessWithDraw.Instance.setTextBoxBalance(accountBUL.getBalance(getTextBoxCardNo()));
                        state = "SuccessWithdraw";
                        createLog("LT001", "ATM001", cardNo, money, "Rút tiền hành công", "");
                        moneyForReceipt = money;
                        return;
                    }
                    CustomWithDraw.Instance.clearTextBoxCustomWithDraw();
                }
            }
            state = "Withdraw";
        }