예제 #1
0
        static void Main(string[] args)
        {
            string errorMessage = "Invalid input";

            while (ProgramLogin.j < 2)
            {
                Console.WriteLine("Please enter 1 to login or type \"quit\" to exit : ");
                string entry = Console.ReadLine();
                if (string.Equals(entry.ToLower(), "quit"))
                {
                    System.Environment.Exit(1);
                }
                else if (string.Equals(entry, ""))
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(errorMessage);
                    Console.Beep();
                    Console.ResetColor();
                }
                try
                {
                    int userEntry = int.Parse(entry);
                    if (userEntry == 1)
                    {
                        ProgramLogin.loginAttempt();
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine(errorMessage);
                        Console.Beep();
                        Console.ResetColor();
                    }
                }
                catch (Exception)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(errorMessage + " Exception handled!");
                    Console.Beep();
                    Console.ResetColor();
                }
                if (ProgramLogin.j == 2)//admin user options
                {
                    AdminProfile.RunAdminProfile();
                }
                else if (ProgramLogin.j == 3)//general user options
                {
                    UserProfile.RunUserProfile();
                }
                else if (ProgramLogin.j == 4)//John Doe user options
                {
                    ExampleProfile.RunExampleProfile();
                }
                ProgramLogin.j = 0;
            }
        }
예제 #2
0
        public static void loginAttempt()
        {
            ProgramLogin login        = new ProgramLogin();
            string       errorMessage = "Ivalid input";

            for (int loginAttempts = 1; loginAttempts <= 3; loginAttempts++)
            {
                Console.WriteLine("");
                Console.WriteLine("login attempts : " + loginAttempts);
                Console.WriteLine("Please enter your username or type \"quit\" to exit: ");
                string userNameAttempt = Console.ReadLine();
                if (string.Equals(userNameAttempt.ToLower(), "quit"))
                {
                    break;
                }
                else if (string.Equals(userNameAttempt, UserProfile.UserName) ||
                         (string.Equals(userNameAttempt, ExampleProfile.UserName)))
                {
                    Console.WriteLine("Please enter your password or type \"quit\" to exit : ");
                    string passwordAttempt = Console.ReadLine();
                    if (string.Equals(userNameAttempt.ToLower(), "quit"))
                    {
                        break;
                    }
                    else if (string.Equals(passwordAttempt, UserProfile.Password))
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("Access Granted!");
                        Console.ResetColor();
                        Console.WriteLine("");
                        j = 3;
                        break;
                    }
                    else if (string.Equals(passwordAttempt, ExampleProfile.Password))
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("Access Granted!");
                        Console.ResetColor();
                        Console.WriteLine("");
                        j = 4;
                        break;
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Access Denied!");
                        Console.Beep();
                        Console.ResetColor();
                        Console.WriteLine("Press enter to continue or 1 to retrieve forgotten password!");
                        string entry = Console.ReadLine();
                        if (string.Equals(entry, "1"))
                        {
                            login.RetrievePassword();
                        }
                        else if (string.Equals(entry, ""))
                        {
                            continue;
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine(errorMessage);
                            Console.Beep();
                            Console.ResetColor();
                        }
                    }
                }
                else if (string.Equals(userNameAttempt, AdminProfile.adminUserName))
                {
                    Console.WriteLine("Please enter admin password or type \"quit\" to exit : ");
                    string adminPasswordAttempt = Console.ReadLine().Trim();
                    if (string.Equals(adminPasswordAttempt.ToLower(), "quit"))
                    {
                        break;
                    }
                    else if (string.Equals(adminPasswordAttempt, AdminProfile.adminPassword))
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("Access Granted!");
                        Console.ResetColor();
                        Console.WriteLine("");
                        j = 2;
                        break;
                    }
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("User name not found!");
                    Console.Beep();
                    Console.ResetColor();
                    Console.WriteLine("Press enter to continue or 1 to retrieve forgotten user name!");
                    string entry = Console.ReadLine();
                    if (string.Equals(entry, ""))
                    {
                        continue;
                    }
                    if (string.Equals(entry, "1"))
                    {
                        login.RetrieveUserName();
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine(errorMessage);
                        Console.Beep();
                        Console.ResetColor();
                    }
                }
                if (loginAttempts == 3)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Login attempts limit reached!");
                    Console.ResetColor();
                    Console.WriteLine("");
                }
            }
        }