public static bool ValidateAmount(int id, decimal transactionAmount, List <User> memoryBuffer)
        {
            bool    validation = false;
            decimal balance    = DataAccess.GetUserBalance(id);

            if (transactionAmount <= balance && transactionAmount >= 20)
            {
                validation = true;
            }
            else
            {
                Console.WriteLine("");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Invalid amount!");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("Do you want try again?  Y/N: ");
                string answer = Console.ReadLine();
                if (answer == "N" || answer == "n")
                {
                    ApplicationMenu.GetApplicationMenu(id, memoryBuffer);
                }
            }

            return(validation);
        }
        public static bool ValidateDestinationUsername(string userToDeposit, int id, List <User> memoryBuffer)
        {
            bool   validation          = false;
            int    destinationMemberID = DataAccess.GetUserID(userToDeposit);
            string username            = DataAccess.GetUsername(destinationMemberID);

            if (username != null)
            {
                validation = true;
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(Environment.NewLine + "Invalid username!");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("Do you want try again?  Y/N: ");
                string answer = Console.ReadLine();
                if (answer == "N" || answer == "n")
                {
                    Console.Clear();
                    ApplicationMenu.GetApplicationMenu(id, memoryBuffer);
                }
            }

            return(validation);
        }
        public static List <User> Withdraw(string username, List <User> memoryBuffer, User loginUser)
        {
            User member = new User();

            member.Username    = username;
            member.ID          = DataAccess.GetUserID(member.Username);
            member.Balance     = DataAccess.GetUserBalance(member.ID);
            member.Transaction = "Withdraw";
            bool validation = false;

            do
            {
                Console.WriteLine("");
                Console.Write("Your current balance: ");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write(member.Balance + "    ");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("Enter amount: ");
                Console.ForegroundColor = ConsoleColor.Green;

                member.TransactionAmount = Convert.ToDecimal(Console.ReadLine());
                validation = ValidateAmount(member.ID, member.TransactionAmount, memoryBuffer);
                Console.ForegroundColor = ConsoleColor.White;
            } while (validation == false);

            DisplayWithdrawInfo(member);

            Console.WriteLine("");
            Console.Write("Confirm transaction and proceed?   Y/N: ");
            string choice = Console.ReadLine();

            if (choice == "Y" || choice == "y")
            {
                DataAccess.SubtractToBalance(member.ID, member.TransactionAmount);

                Console.WriteLine(Environment.NewLine + Environment.NewLine + "Transaction Successful!");

                //member = DataAccess.GetUserAccount(member);
                memoryBuffer = BankAccount.GetUserListOfDaysActivity(member, memoryBuffer);

                loginUser                       = DataAccess.GetUserAccount(loginUser);
                loginUser.Transaction           = "Withdraw";
                loginUser.TransactionAmount     = member.TransactionAmount;
                loginUser.TransactionDate       = DateTime.Now;
                loginUser.DestiationAccountName = member.Username;
                memoryBuffer.Add(loginUser);
            }
            else
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(Environment.NewLine + "Transaction was canceled");
                Console.ForegroundColor = ConsoleColor.White;
                ApplicationMenu.GetApplicationMenu(loginUser.ID, memoryBuffer);
            }

            return(memoryBuffer);
        }
        public static List <User> Deposit(User loginUser, List <User> memoryBuffer)
        {
            bool validation = false;

            Console.Clear();
            Console.WriteLine("");

            do
            {
                Console.Write("Enter amount: ");
                Console.ForegroundColor     = ConsoleColor.Green;
                loginUser.TransactionAmount = Convert.ToDecimal(Console.ReadLine());
                Console.ForegroundColor     = ConsoleColor.White;

                if (loginUser.TransactionAmount > 400)
                {
                    Console.WriteLine("Invalid amount!");
                    Console.WriteLine("The amount must be between 0-400");
                    Console.WriteLine("");
                }
                else
                {
                    validation = true;
                }
            } while (validation == false);

            loginUser.Transaction = "Deposit";
            DisplayDepositInfo(loginUser);
            Console.WriteLine("");
            Console.Write("Confirm transaction and proceed?   Y/N: ");
            string choice = Console.ReadLine();

            if (choice == "Y" || choice == "y")
            {
                DataAccess.AddToBalance(loginUser.ID, loginUser.TransactionAmount);
                Console.WriteLine(Environment.NewLine + Environment.NewLine + "Transaction Successful!");
                memoryBuffer = DataAccess.GetListOfUserAccountInfo(loginUser, memoryBuffer);
            }
            else
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(Environment.NewLine + "Transaction was canceled");
                Console.ForegroundColor = ConsoleColor.White;
                ApplicationMenu.GetApplicationMenu(loginUser.ID, memoryBuffer);
            }

            return(memoryBuffer);
        }
示例#5
0
        public static void LoginValidation()
        {
            BankAccount dailyBuffer = new BankAccount();

            dailyBuffer.MemoryBuffer = new List <User>();
            int count = 0;

            do
            {
                ++count;
                Console.WriteLine("Login Screen");
                Console.Write("Please enter your Username: "******"Please enter your password: "******"*");
                    }
                    else
                    {
                        if (key.Key == ConsoleKey.Backspace && password.Length > 0)
                        {
                            password = password.Substring(0, (password.Length - 1));
                            Console.Write("\b \b");
                        }
                    }
                }
                // Stops Receving Keys Once Enter is Pressed
                while (key.Key != ConsoleKey.Enter);
                Console.ForegroundColor = ConsoleColor.White;

                password = DataAccess.GenerateSHA256String(password);

                int    id         = DataAccess.GetUserID(username);
                string usernameDB = DataAccess.GetUsername(id);
                string passwordDB = DataAccess.GetPassword(id);


                if (usernameDB == username && passwordDB == password)
                {
                    dailyBuffer.MemoryBuffer = ApplicationMenu.GetApplicationMenu(id, dailyBuffer.MemoryBuffer);
                    break;
                }
                else
                {
                    Console.WriteLine(" ");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Invalid Password or Username");
                    Console.WriteLine(" ");
                    Console.ForegroundColor = ConsoleColor.White;
                }
            }while (count < 3);

            if (count == 3)
            {
                Application.Exit();
            }
        }
        public static List <User> Transfer(User loginUser, List <User> memoryBuffer)
        {
            User thirdParty = new User();

            loginUser.Balance     = DataAccess.GetUserBalance(loginUser.ID);
            loginUser.Transaction = "Transfer";

            bool validation = false;

            do
            {
                Console.WriteLine("");
                Console.Write("Insert destination's account username: "******"Invalid Transaction!");
                    Console.WriteLine("Same account");
                    Console.ForegroundColor = ConsoleColor.White;
                    validation = false;
                }
            } while (validation == false);

            do
            {
                Console.WriteLine("");
                Console.Write("Your current balance: ");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write(loginUser.Balance + "   ");
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("Enter amount: ");
                Console.ForegroundColor = ConsoleColor.Green;

                loginUser.TransactionAmount = Convert.ToDecimal(Console.ReadLine());
                validation = ValidateAmount(loginUser.ID, loginUser.TransactionAmount, memoryBuffer);
                Console.ForegroundColor = ConsoleColor.White;
            } while (validation == false);

            thirdParty.ID = DataAccess.GetUserID(thirdParty.Username);

            DisplayTransferInfo(loginUser, thirdParty.Username);

            Console.WriteLine("");
            Console.Write("Confirm transaction and proceed?   Y/N: ");
            string choice = Console.ReadLine();

            if (choice == "Y" || choice == "y")
            {
                DataAccess.AddToBalance(thirdParty.ID, loginUser.TransactionAmount);
                DataAccess.SubtractToBalance(loginUser.ID, loginUser.TransactionAmount);

                Console.WriteLine(Environment.NewLine + Environment.NewLine + "Transaction Successful!");

                loginUser.DestiationAccountName = thirdParty.Username;
                memoryBuffer = BankAccount.GetUserListOfDaysActivity(loginUser, memoryBuffer);

                thirdParty.Transaction       = "Transfer";
                thirdParty.SenderAccountName = loginUser.Username;
                thirdParty.TransactionAmount = loginUser.TransactionAmount;
                memoryBuffer = BankAccount.GetUserListOfDaysActivity(thirdParty, memoryBuffer);
            }
            else
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(Environment.NewLine + "Transaction was canceled");
                Console.ForegroundColor = ConsoleColor.White;

                ApplicationMenu.GetApplicationMenu(loginUser.ID, memoryBuffer);
            }

            return(memoryBuffer);
        }