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; } } }
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(); }
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; } } }
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; } } } }