static void Main(string[] args) { Console.WriteLine("Press 1 for Saving Account & Press 2 for Current Account "); int check = Int32.Parse(Console.ReadLine()); Address ad = new Address(); Console.Write("Enter 1st Area :"); ad.Ares = Console.ReadLine(); Console.Write("Enter 1st City :"); ad.City = Console.ReadLine(); Console.Write("Enter 1st House No :"); ad.HouseNo = Console.ReadLine(); Console.Write("Enter 1st Road No :"); ad.RoadNo = Int32.Parse(Console.ReadLine()); SavingAccount sa = new SavingAccount("", "", -1, 0, 1, ad); Console.WriteLine("\n"); Console.Write("Enter 1st Name :"); string name = Console.ReadLine(); Console.Write("Enter 1st Account Id :"); string accountId = Console.ReadLine(); Console.Write("Enter 1st Balance :"); double balance = double.Parse(Console.ReadLine()); Console.Write("Enter 1st Deposit :"); double depositAmount = double.Parse(Console.ReadLine()); Console.Write("Enter 1st Withdraw :"); double withdrawAmount = double.Parse(Console.ReadLine()); Console.Write("Enter 1st Gender (1 for Male & 2 for Female):"); int sex = Int32.Parse(Console.ReadLine()); if (check == 1) { Console.Write("Enter 1st Interest :"); double interest = double.Parse(Console.ReadLine()); sa = new SavingAccount(name, accountId, balance, sex, interest, ad); Console.WriteLine("\n===================================\n"); //sa.Name = name; //sa.AccountId = accountId; //sa.Balance = balance; sa.Deposit(depositAmount); Console.WriteLine("After Deposit :" + sa.Balance); sa.WithDraw(withdrawAmount); Console.WriteLine("After withdraw :" + sa.Balance); //sa.showAccountDetails(); Console.WriteLine("\n"); sa = new SavingAccount(); sa.ShowInfo(); } Console.WriteLine("\n\n================ For 2nd Person===================\n\n"); Address ad1 = new Address(); Console.Write("Enter 2nd Area :"); ad1.Ares = Console.ReadLine(); Console.Write("Enter 2nd City :"); ad1.City = Console.ReadLine(); Console.Write("Enter 2nd House :"); ad1.HouseNo = Console.ReadLine(); Console.Write("Enter 2nd Road No :"); ad1.RoadNo = Int32.Parse(Console.ReadLine()); SavingAccount sa1 = new SavingAccount("", "", -1, 0, 1, ad); Console.Write("Enter 2nd Name :"); string name1 = Console.ReadLine(); Console.Write("Enter 2nd Account Id :"); string accountId1 = Console.ReadLine(); Console.Write("Enter 2nd Balance :"); double balance1 = double.Parse(Console.ReadLine()); Console.Write("Enter 2nd Deposit :"); double depositAmount1 = double.Parse(Console.ReadLine()); Console.Write("Enter 2nd Withdraw :"); double withdrawAmount1 = double.Parse(Console.ReadLine()); Console.Write("Enter 2nd Gender (1 for Male & 2 for Female):"); int sex1 = Int32.Parse(Console.ReadLine()); if (check == 1) { Console.Write("Enter 2nd Interest :"); double interest1 = double.Parse(Console.ReadLine()); Console.WriteLine("\n"); sa1 = new SavingAccount(name1, accountId1, balance1, sex1, interest1, ad1); //sa1.Name = name; //sa1.AccountId = accountId; //sa1.Balance = balance; sa1.Deposit(depositAmount); Console.WriteLine("After Deposit :" + sa1.Balance); sa1.WithDraw(withdrawAmount); Console.WriteLine("After withdraw :" + sa1.Balance); sa1.showAccountDetails(); sa1.ShowInfo(); Console.WriteLine("\n"); int check1; Console.Write("\n\n========== For Transfer ===============\n"); Console.WriteLine("Press 1 if " + sa.Name + " Transfer Money To" + sa1.Name); Console.WriteLine("Press 2 if " + sa1.Name + " Transfer Money To" + sa.Name); Int32.TryParse(Console.ReadLine(), out check1); if (check1 == 1) { Console.Write("Please Enter Transfer's Amount : "); sa.Transfer(double.Parse(Console.ReadLine()), sa1); } else if (check1 == 2) { Console.Write("Please Enter Transfer's Amount : "); sa1.Transfer(double.Parse(Console.ReadLine()), sa); } else { Console.WriteLine("Please Press 1 or 2"); } if (check1 == 1) { Console.WriteLine("\n\n============After Transfer Taka ============" + sa.Name + " -> " + sa1.Name); } else { Console.WriteLine("\n\n============After Transfer Taka ============" + sa1.Name + " -> " + sa.Name); } Console.WriteLine("Name : " + sa.Name + ", Balance : " + sa.Balance); Console.WriteLine("Name : " + sa1.Name + ", Balance : " + sa1.Balance); } if (check == 2) { Console.WriteLine("\n\n============== 1st Person =================\n\n"); CurrentAccount ca = new CurrentAccount(name, accountId, balance, sex, ad); ca.ShowDetails(); Console.WriteLine("\n\n============== 2nd Person =================\n\n"); CurrentAccount ca1 = new CurrentAccount(name1, accountId1, balance1, sex1, ad1); ca1.ShowDetails(); } }
private static void BankConsole(BankContext ctx) { Console.WriteLine("Hello, summoner! Welcome to Soft Uni Bank (SUB)"); Console.WriteLine("-----------------------------------------------"); Console.WriteLine("Type 'commands' to see the available commands!"); Console.WriteLine("Type 'Quit' to quit the application!"); Console.WriteLine("-----------------------------------------------"); string loggedUsername = ""; string loggedUserPassword = ""; var command = Console.ReadLine(); while (command != "Quit") { var array = command.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); if (command == "commands") { Console.WriteLine("1. Register <username> <password> <email> - That command add new user to the database in case username, password and email are valid. Otherwise print appropriate message informing why the user cannot be registered"); Console.WriteLine("2. Login <username> <password> - - That command set the current logged in user if exists. Otherwise print appropriate message."); Console.WriteLine("3. Logout - log out the user from the system. If there is no logged in user print appropriate message."); Console.WriteLine("4. Add SavingAccount <initial balance> <interest rate> - add saving account to the currently logged in user. "); Console.WriteLine("5. Add CheckingAccount <initial balance> <fee> - add checking account to the currently logged in user. "); Console.WriteLine("6. ListAccounts – prints a list of overall information for all accounts of currently logged in user."); Console.WriteLine("7. Deposit <Account number> <money> - adds money to the account with given number"); Console.WriteLine("8. Withdraw <Account number> <money> - subtracts money from the account with given number"); Console.WriteLine("9. DeductFee <Account number> - deduct the fee from the balance of the account with given number"); Console.WriteLine("10. AddInterest <Account number> - add interest to the balance of the account with given number"); Console.WriteLine("---------------------------------------------------------------------------------------------------------------------"); } if (array[0] == "Register") { var user = new User(); user.Username = array[1]; user.Password = array[2]; user.Email = array[3]; ctx.Users.Add(user); ctx.SaveChanges(); Console.WriteLine($"{user.Username} was registered."); } if (array[0] == "Login") { var username = array[1]; var password = array[2]; var user = ctx.Users.Where(u => u.Username == username).FirstOrDefault(); var listOfUsers = ctx.Users.ToList(); if (listOfUsers.Contains(user)) { loggedUsername = user.Username; loggedUserPassword = user.Password; Console.WriteLine("Succesfully logged in!"); } else { Console.WriteLine("There is no such user!"); } } if (array[0] == "Logout") { if (loggedUsername == string.Empty) { Console.WriteLine("Cannot log out. No user was logged in."); } else { Console.WriteLine($"{loggedUsername} succesfully logged out."); loggedUsername = ""; loggedUserPassword = ""; } } if (array[0] == "Add") { if (loggedUsername == "") { Console.WriteLine("Please login first!"); } else { if (array[1] == "SavingAccount") { var savingAccount = new SavingAccount(); savingAccount.Balance = decimal.Parse(array[2]); savingAccount.InterestRate = float.Parse(array[3]); savingAccount.AccountNumber = RandomString(); ctx.SavingAccounts.Add(savingAccount); ctx.SaveChanges(); Console.WriteLine($"Succesfully added saving account with number: {savingAccount.AccountNumber}"); } if (array[1] == "CheckingAccount") { var checkingAccount = new CheckingAccount(); checkingAccount.Balance = decimal.Parse(array[2]); checkingAccount.Fee = decimal.Parse(array[3]); checkingAccount.AccountNumber = RandomString(); ctx.CheckingAccounts.Add(checkingAccount); ctx.SaveChanges(); Console.WriteLine($"Succesfully added checking account with number: {checkingAccount.AccountNumber}"); } } } if (array[0] == "ListAccounts") { var list1 = ctx.SavingAccounts.OrderBy(c => c.AccountNumber).ToList(); var list2 = ctx.CheckingAccounts.OrderBy(c => c.AccountNumber).ToList(); Console.WriteLine("Saving accounts:"); foreach (var sa in list1) { Console.WriteLine($"-- {sa.AccountNumber} {sa.Balance} "); } Console.WriteLine("Checking accounts:"); foreach (var ca in list2) { Console.WriteLine($"-- {ca.AccountNumber} {ca.Balance}"); } } if (array[0] == "Deposit" && loggedUsername != "") { var accountNumber = array[1]; var sum = decimal.Parse(array[2]); var list1 = ctx.SavingAccounts.ToList(); var list2 = ctx.CheckingAccounts.ToList(); foreach (var item in list1) { if (item.AccountNumber == accountNumber && item.User.Username == loggedUsername) { item.DepositMoney(sum); ctx.SaveChanges(); Console.WriteLine($"Succesfully added money to saving account: {item.AccountNumber}"); Console.WriteLine($"Balance: {item.Balance}$"); } } foreach (var item in list2) { if (item.AccountNumber == accountNumber && item.User.Username == loggedUsername) { item.DepositMoney(sum); ctx.SaveChanges(); Console.WriteLine($"Succesfully added money to checking account: {item.AccountNumber}"); Console.WriteLine($"Balance: {item.Balance}$"); } } } if (array[0] == "Withdraw" && loggedUsername != "") { var accountNumber = array[1]; var sum = decimal.Parse(array[2]); var list1 = ctx.SavingAccounts.ToList(); var list2 = ctx.CheckingAccounts.ToList(); foreach (var item in list1) { if (item.AccountNumber == accountNumber && item.User.Username == loggedUsername) { item.WithdrawMoney(sum); ctx.SaveChanges(); if (item.Balance > sum) { Console.WriteLine($"Succesfully withdrawed money from saving account: {item.AccountNumber}"); Console.WriteLine($"Balance: {item.Balance}$"); } } } foreach (var item in list2) { if (item.AccountNumber == accountNumber && item.User.Username == loggedUsername) { item.WithdrawMoney(sum); ctx.SaveChanges(); if (item.Balance > sum) { Console.WriteLine($"Succesfully withdrawed money from saving account: {item.AccountNumber}"); Console.WriteLine($"Balance: {item.Balance}$"); } } } } if (array[0] == "DeductFee" && loggedUsername != "") { var accountNumber = array[1]; var list = ctx.CheckingAccounts.ToList(); foreach (var item in list) { if (item.AccountNumber == accountNumber && item.User.Username == loggedUsername) { var fee = decimal.Parse(array[2]); item.DeductFee(fee); ctx.SaveChanges(); Console.WriteLine("Succesfully added new fee!"); } } } if (array[0] == "AddInterest" && loggedUsername != "") { var accountNumber = array[1]; var list = ctx.SavingAccounts.ToList(); foreach (var item in list) { if (item.AccountNumber == accountNumber && item.User.Username == loggedUsername) { var interest = float.Parse(array[2]); item.AddInterest(interest); ctx.SaveChanges(); Console.WriteLine("Succesfully added new interest!"); Console.WriteLine($"Balance: {item.Balance}$"); } } } command = Console.ReadLine(); } Console.WriteLine("GG WP!"); }