Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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!");
        }