示例#1
0
        private static void WithdrawWithODP(ATM_Context db)
        {
            bool withdrawing = true;

            while (withdrawing == true)
            {
                double adjValue = double.Parse(Read("How Much would you like to Withdraw?> "));
                if (activeAcct.CurrentBalance - adjValue < 0)
                {
                    activeAcct.CurrentBalance = activeAcct.CurrentBalance - adjValue - 15;
                    logBalance = activeAcct.CurrentBalance - adjValue;
                    adjustment = "withdrawl (-)";
                    Console.WriteLine($"Withdrawing ${adjValue}");
                    Console.WriteLine("Your account has insufficient funds to cover this withdrawl; a" +
                                      " $15.00 fee has been charged to your account.");
                    Console.WriteLine($"Your Balance is now ${activeAcct.CurrentBalance}");
                    DateTime time       = DateTime.Now;
                    var      newATM_Log = new ATM_Log()
                    {
                        ActiveAcct = activeAcct,
                        Time       = time,
                        Adjustment = adjustment,
                        AdjValue   = adjValue,
                        LogBalance = logBalance
                    };

                    db.ATM_Logs.Add(newATM_Log);
                    db.SaveChanges();
                    withdrawing = false;
                }
                else
                {
                    activeAcct.CurrentBalance = activeAcct.CurrentBalance - adjValue;
                    logBalance = activeAcct.CurrentBalance - adjValue;
                    adjustment = "withdrawl (-)";
                    Console.WriteLine($"Withdrawing ${adjValue}");
                    DateTime time       = DateTime.Now;
                    var      newATM_Log = new ATM_Log()
                    {
                        ActiveAcct = activeAcct,
                        Time       = time,
                        Adjustment = adjustment,
                        AdjValue   = adjValue,
                        LogBalance = logBalance
                    };

                    db.ATM_Logs.Add(newATM_Log);
                    db.SaveChanges();
                    withdrawing = false;
                }
            }
        }
示例#2
0
        private static void Deposit(ATM_Context db)
        {
            double deposit = double.Parse(Read("How much would you like to Deposit >"));

            adjustment = "deposit (+)";
            Console.WriteLine($"Depositing ${deposit}");
            activeAcct.CurrentBalance = activeAcct.CurrentBalance + deposit;
            adjValue   = deposit;
            logBalance = activeAcct.CurrentBalance + deposit;
            DateTime time       = DateTime.Now;
            var      newATM_Log = new ATM_Log()
            {
                ActiveAcct = activeAcct,
                Time       = time,
                Adjustment = adjustment,
                AdjValue   = adjValue,
                LogBalance = logBalance
            };

            db.ATM_Logs.Add(newATM_Log);
            db.SaveChanges();
        }
示例#3
0
        private static void Withdraw(ATM_Context db)
        {
            bool withdrawing = true;

            while (withdrawing == true)
            {
                double adjValue = double.Parse(Read("How Much would you like to Withdraw?> "));
                if (activeAcct.CurrentBalance - adjValue < 0)
                {
                    Console.WriteLine("There are insufficient funds for this withdrawl");
                    Console.WriteLine("1) Main Menu");
                    Console.WriteLine("2) Get Balance");
                    Console.WriteLine("3) Withdraw a lesser amount");
                    Console.WriteLine("4) Logout");
                    int choice = int.Parse(Read("> "));

                    switch (choice)
                    {
                    case 1:
                        withdrawing = false;
                        break;

                    case 2:
                        PrintBalance(db);
                        break;

                    case 3:
                        Withdraw(db);
                        break;

                    case 4:
                        Logout(db);
                        break;

                    default:
                        break;
                    }
                }

                else
                {
                    activeAcct.CurrentBalance = activeAcct.CurrentBalance - adjValue;
                    logBalance = activeAcct.CurrentBalance - adjValue;
                    adjustment = "withdrawl (-)";
                    Console.WriteLine($"Withdrawing ${adjValue}");
                    DateTime time       = DateTime.Now;
                    var      newATM_Log = new ATM_Log()
                    {
                        ActiveAcct = activeAcct,
                        Time       = time,
                        Adjustment = adjustment,
                        AdjValue   = adjValue,
                        LogBalance = logBalance
                    };

                    db.ATM_Logs.Add(newATM_Log);
                    db.SaveChanges();
                    withdrawing = false;
                }
            }
        }
示例#4
0
        private static void Transfer(ATM_Context db)
        {
            bool transfering = new bool();

            transfering = true;
            while (transfering == true)
            {
                foreach (var Acct in db.Accounts)
                {
                    Console.WriteLine(Acct.AcctName);
                }
                var  acctNameString = Read("To which acct would you like to transfer the funds?");
                Acct recipientAcct  = db.Accounts.Where(a => a.AcctName == acctNameString).First();
                var  adjValue       = double.Parse(Read("How much would you like to transfer?"));

                if (activeAcct.CurrentBalance - adjValue > 0)
                {
                    Console.WriteLine($"Confirm transfer of ${adjValue} from {activeAcct.AcctName}" +
                                      $" to { recipientAcct.AcctName} (Y/N)");
                    string confirmChoice = Read("> ");
                    if (confirmChoice.ToLower() == "y")
                    {
                        DateTime time = DateTime.Now;
                        recipientAcct.CurrentBalance = recipientAcct.CurrentBalance + adjValue;
                        activeAcct.CurrentBalance    = activeAcct.CurrentBalance - adjValue;
                        logBalance = activeAcct.CurrentBalance;
                        adjustment = "transfer";
                        Console.WriteLine("Transfer Complete");
                        var newATM_Log = new ATM_Log()
                        {
                            ActiveAcct    = activeAcct,
                            Time          = time,
                            Adjustment    = adjustment,
                            AdjValue      = adjValue,
                            RecipientAcct = recipientAcct,
                            LogBalance    = logBalance
                        };

                        db.ATM_Logs.Add(newATM_Log);
                        db.SaveChanges();
                        transfering = false;
                    }
                    else
                    {
                        transfering = false;
                    }
                }
                else
                {
                    Console.WriteLine("There are insufficient funds available for this transfer");
                    Console.WriteLine("1)Print Balance");
                    Console.WriteLine("2)Transfer a lesser amount");
                    Console.WriteLine("3)Main Menu");

                    int choice = int.Parse(Read("> "));
                    switch (choice)
                    {
                    case 1:
                        PrintBalance(db);
                        break;

                    case 2:
                        Transfer(db);
                        break;

                    case 3:
                        transfering = false;
                        break;

                    default:
                        break;
                    }
                }
            }
        }