• 1405/03/04

تمرین _ جلسه 25 _ Vayu _ Priority _ Joint Bank Account :

سلام و وقتتون بخیر.

مثال 1:

Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine("*** Plus Ultra ***");
Console.ResetColor();

Console.ForegroundColor = ConsoleColor.DarkBlue;
Console.WriteLine("*** Joint Family Bank Account ***");
Console.ResetColor();

Console.ForegroundColor = ConsoleColor.DarkMagenta;
Console.WriteLine("\n*******************************************************************");
Console.ResetColor();

int errorsCount = 0;
int maxErrors = 5;
int remaining;
bool isUserNameValid = false;

while (!isUserNameValid && errorsCount < maxErrors)
{
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.Write("\nPlease Enter Your Username: ");
    Console.ResetColor();

    Console.ForegroundColor = ConsoleColor.DarkYellow;
    string inputUsername = Console.ReadLine();
    Console.ResetColor();

    if (inputUsername.Length >= 6 && inputUsername.Length <= 20)
    {
        errorsCount = 0;
        maxErrors = 5;
        bool isPasswordValid = false;

        do
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("\nPlease Enter Your Password: ");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkYellow;
            string inputPassword = Console.ReadLine();
            Console.ResetColor();

            if (inputPassword.Length >= 8 && inputPassword.Length <= 20)
            {
                bool isLoginValid = false;
                bool isAuthenticationValid = false;

                do
                {
                    if ((inputUsername == "VayuFamily" && inputPassword == "A7Z9V2A9") || (isAuthenticationValid != false))
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("\nLogin Was Successful, Welcome Your Joint Family Bank Account^^");
                        Console.ResetColor();

                        isLoginValid = true;
                        isPasswordValid = true;
                        isUserNameValid = true;
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("\nLogin Failed, Username Or Password Is Incorrect!!");
                        Console.ResetColor();

                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("If You Forgot Your Username Or Password, You Can Authenticate To Login^^");
                        Console.ResetColor();

                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.Write("\nEnter Yes Or Ok To Continue Authentication: ");
                        Console.ResetColor();

                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                        string inputContinue = Console.ReadLine();
                        Console.ResetColor();

                        if (inputContinue.ToLower() == "yes" || inputContinue.ToLower() == "ok")
                        {
                            Console.ForegroundColor = ConsoleColor.DarkBlue;
                            Console.WriteLine("*** The Authentication Process Has Started ***");
                            Console.ResetColor();

                            Console.ForegroundColor = ConsoleColor.DarkMagenta;
                            Console.WriteLine("\n*******************************************************************");
                            Console.ResetColor();

                            errorsCount = 0;
                            maxErrors = 5;
                            bool isNameValid = false;

                            do
                            {
                                Console.ForegroundColor = ConsoleColor.Yellow;
                                Console.Write("\nPlease Enter Your Name: ");
                                Console.ResetColor();

                                Console.ForegroundColor = ConsoleColor.DarkYellow;
                                string inputName = Console.ReadLine();
                                Console.ResetColor();

                                if (inputName.Length >= 3 && inputName.Length <= 20)
                                {
                                    errorsCount = 0;
                                    maxErrors = 5;
                                    bool isLastNameValid = false;

                                    do
                                    {
                                        Console.ForegroundColor = ConsoleColor.Yellow;
                                        Console.Write("\nPlease Enter Your Last Name: ");
                                        Console.ResetColor();

                                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                                        string inputLastName = Console.ReadLine();
                                        Console.ResetColor();

                                        if (inputLastName.Length >= 3 && inputLastName.Length <= 20)
                                        {
                                            string inputFullName = inputName + " " + inputLastName;

                                            errorsCount = 0;
                                            maxErrors = 5;
                                            bool isIDCodeValid = false;

                                            do
                                            {
                                                Console.ForegroundColor = ConsoleColor.Yellow;
                                                Console.Write("\nPlease Enter Your ID Code Number: ");
                                                Console.ResetColor();

                                                Console.ForegroundColor = ConsoleColor.DarkYellow;
                                                string inputIDcode = Console.ReadLine();
                                                Console.ResetColor();

                                                if (inputIDcode.Length >= 10 && inputIDcode.Length < 11)
                                                {
                                                    errorsCount = 0;
                                                    maxErrors = 5;
                                                    bool isPhoneNumberValid = false;

                                                    do
                                                    {
                                                        Console.ForegroundColor = ConsoleColor.Yellow;
                                                        Console.Write("\nPlease Enter Your Phone Number: ");
                                                        Console.ResetColor();

                                                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                                                        string inputPhoneNumber = Console.ReadLine();
                                                        Console.ResetColor();

                                                        if (inputPhoneNumber.Length >= 10 && inputPhoneNumber.Length <= 20)
                                                        {
                                                            errorsCount = 0;
                                                            maxErrors = 5;
                                                            bool isBrithYearValid = false;

                                                            do
                                                            {
                                                                try
                                                                {
                                                                    Console.ForegroundColor = ConsoleColor.Yellow;
                                                                    Console.Write("\nPlease Enter Your Year Of Brith: ");
                                                                    Console.ResetColor();

                                                                    Console.ForegroundColor = ConsoleColor.DarkYellow;
                                                                    int inputBrithYear = Convert.ToInt32(Console.ReadLine());
                                                                    Console.ResetColor();

                                                                    if (inputBrithYear >= 1300 && inputBrithYear <= 1405)
                                                                    {
                                                                        if (((inputName.ToLower() == "vayu") && (inputLastName.ToLower() == "vaspar") && (inputIDcode == "1366302796") && (inputPhoneNumber == "09380989332" || inputPhoneNumber == "9380989332") && (inputBrithYear == 1382)) ||
                                                                           ((inputName.ToLower() == "asghar") && (inputLastName.ToLower() == "yagoubi") && (inputIDcode == "1364196498") && (inputPhoneNumber == "09144196498" || inputPhoneNumber == "9144196498") && (inputBrithYear == 1357)) ||
                                                                           ((inputName.ToLower() == "zahra") && (inputLastName.ToLower() == "aflaki") && (inputIDcode == "1368180095") && (inputPhoneNumber == "09378180095" || inputPhoneNumber == "9378180095") && (inputBrithYear == 1359)) ||
                                                                           ((inputName.ToLower() == "amirmohammad") && (inputLastName.ToLower() == "Yaghoubi") && (inputIDcode == "1366319831") && (inputPhoneNumber == "09381369831" || inputPhoneNumber == "9381369831") && (inputBrithYear == 1389)))
                                                                        {
                                                                            Console.ForegroundColor = ConsoleColor.DarkCyan;
                                                                            Console.WriteLine($"\nAuthentication Was Successful Dear ({inputFullName})^^");
                                                                            Console.ResetColor();

                                                                            isAuthenticationValid = true;
                                                                        }
                                                                        else
                                                                        {
                                                                            Console.ForegroundColor = ConsoleColor.DarkRed;
                                                                            Console.WriteLine("Authentication Failed, Information Did Not Match!!!");
                                                                            Console.ResetColor();

                                                                            Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                            Console.WriteLine("\n*******************************************************************");
                                                                            Console.ResetColor();
                                                                        }

                                                                        isBrithYearValid = true;
                                                                    }
                                                                    else
                                                                    {
                                                                        errorsCount++;
                                                                        remaining = maxErrors - errorsCount;

                                                                        if (remaining > 0)
                                                                        {
                                                                            Console.ForegroundColor = ConsoleColor.Red;
                                                                            Console.WriteLine($"\nInvalid Input, Please Enter Your Year Of Brith Correctly, Your Errors Count Number Is: ({errorsCount})!!");
                                                                            Console.ResetColor();

                                                                            Console.ForegroundColor = ConsoleColor.Cyan;
                                                                            Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                                                            Console.ResetColor();

                                                                            Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                            Console.WriteLine("\n*******************************************************************");
                                                                            Console.ResetColor();
                                                                        }
                                                                        else
                                                                        {
                                                                            Console.ForegroundColor = ConsoleColor.DarkRed;
                                                                            Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                                                            Console.ResetColor();

                                                                            Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                            Console.WriteLine("\n*******************************************************************");
                                                                            Console.ResetColor();
                                                                        }
                                                                    }
                                                                }
                                                                catch (FormatException)
                                                                {
                                                                    errorsCount++;
                                                                    remaining = maxErrors - errorsCount;

                                                                    if (remaining > 0)
                                                                    {
                                                                        Console.ForegroundColor = ConsoleColor.Red;
                                                                        Console.WriteLine($"\nInvailid Input, Please Enter Just Number, Your Errors Count Number Is: ({errorsCount})!!");
                                                                        Console.ResetColor();

                                                                        Console.ForegroundColor = ConsoleColor.Cyan;
                                                                        Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                                                        Console.ResetColor();

                                                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                        Console.WriteLine("\n*******************************************************************");
                                                                        Console.ResetColor();
                                                                    }
                                                                    else
                                                                    {
                                                                        Console.ForegroundColor = ConsoleColor.DarkRed;
                                                                        Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                                                        Console.ResetColor();

                                                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                        Console.WriteLine("\n*******************************************************************");
                                                                        Console.ResetColor();
                                                                    }
                                                                }
                                                                catch (Exception ex)
                                                                {
                                                                    errorsCount++;
                                                                    remaining = maxErrors - errorsCount;

                                                                    if (remaining > 0)
                                                                    {
                                                                        Console.ForegroundColor = ConsoleColor.Red;
                                                                        Console.WriteLine($"\nUnexcpected Error Occured ({ex.Message}), Please Enter Number Correctly" +
                                                                            $"Your Errors Count Number Is: ({errorsCount})!!");
                                                                        Console.ResetColor();

                                                                        Console.ForegroundColor = ConsoleColor.Cyan;
                                                                        Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                                                        Console.ResetColor();

                                                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                        Console.WriteLine("\n*******************************************************************");
                                                                        Console.ResetColor();
                                                                    }
                                                                    else
                                                                    {
                                                                        Console.ForegroundColor = ConsoleColor.DarkRed;
                                                                        Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                                                        Console.ResetColor();

                                                                        Console.ForegroundColor = ConsoleColor.DarkCyan;
                                                                        Console.WriteLine("\n*******************************************************************");
                                                                        Console.ResetColor();
                                                                    }
                                                                }
                                                            }
                                                            while (!isBrithYearValid && errorsCount < maxErrors);

                                                            isPhoneNumberValid = true;
                                                        }
                                                        else
                                                        {
                                                            errorsCount++;
                                                            remaining = maxErrors - errorsCount;

                                                            if (remaining > 0)
                                                            {
                                                                Console.ForegroundColor = ConsoleColor.Red;
                                                                Console.WriteLine($"\nInvaild Input, Please Enter Your Phone Number Correctly, Your Errors Count Number Is: ({errorsCount})!!");
                                                                Console.ResetColor();

                                                                Console.ForegroundColor = ConsoleColor.Cyan;
                                                                Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                                                Console.ResetColor();

                                                                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                Console.WriteLine("\n*******************************************************************");
                                                                Console.ResetColor();
                                                            }
                                                            else
                                                            {
                                                                Console.ForegroundColor = ConsoleColor.DarkRed;
                                                                Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                                                Console.ResetColor();

                                                                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                                Console.WriteLine("\n*******************************************************************");
                                                                Console.ResetColor();
                                                            }
                                                        }
                                                    }
                                                    while (!isPhoneNumberValid && errorsCount < maxErrors);

                                                    isIDCodeValid = true;
                                                }
                                                else
                                                {
                                                    errorsCount++;
                                                    remaining = maxErrors - errorsCount;

                                                    if (remaining > 0)
                                                    {
                                                        Console.ForegroundColor = ConsoleColor.Red;
                                                        Console.WriteLine($"\nInvalid Input, Plaese Enter Your ID Code Number Correctly, Your Errors Count Number Is: ({errorsCount})!!");
                                                        Console.ResetColor();

                                                        Console.ForegroundColor = ConsoleColor.Cyan;
                                                        Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                                        Console.ResetColor();

                                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                        Console.WriteLine("\n*******************************************************************");
                                                        Console.ResetColor();
                                                    }
                                                    else
                                                    {
                                                        Console.ForegroundColor = ConsoleColor.DarkRed;
                                                        Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                                        Console.ResetColor();

                                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                        Console.WriteLine("\n*******************************************************************");
                                                        Console.ResetColor();
                                                    }
                                                }
                                            }
                                            while (!isIDCodeValid && errorsCount < maxErrors);

                                            isLastNameValid = true;
                                        }
                                        else
                                        {
                                            errorsCount++;
                                            remaining = maxErrors - errorsCount;

                                            if (remaining > 0)
                                            {
                                                Console.ForegroundColor = ConsoleColor.Red;
                                                Console.WriteLine($"\nInvalid Input, Please Enter Your Last Name Correctly, Your Errors Count Number Is: ({errorsCount})!!");
                                                Console.ResetColor();

                                                Console.ForegroundColor = ConsoleColor.Cyan;
                                                Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                                Console.ResetColor();

                                                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                Console.WriteLine("\n*******************************************************************");
                                                Console.ResetColor();
                                            }
                                            else
                                            {
                                                Console.ForegroundColor = ConsoleColor.DarkRed;
                                                Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                                Console.ResetColor();

                                                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                                Console.WriteLine("\n*******************************************************************");
                                                Console.ResetColor();
                                            }
                                        }
                                    }
                                    while (!isLastNameValid && errorsCount < maxErrors);

                                    isNameValid = true;
                                }
                                else
                                {
                                    errorsCount++;
                                    remaining = maxErrors - errorsCount;

                                    if (remaining > 0)
                                    {
                                        Console.ForegroundColor = ConsoleColor.Red;
                                        Console.WriteLine($"\nInvalid Input, Please Enter Your Name Correctly, Your Errors Count Number Is: ({errorsCount})!!");
                                        Console.ResetColor();

                                        Console.ForegroundColor = ConsoleColor.Cyan;
                                        Console.WriteLine($"You Have ({remaining}) More Chance^^");
                                        Console.ResetColor();

                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                        Console.WriteLine("\n*******************************************************************");
                                        Console.ResetColor();
                                    }
                                    else
                                    {
                                        Console.ForegroundColor = ConsoleColor.DarkRed;
                                        Console.WriteLine("\nAuthentication Failed, You Have Run Out Of All Allowed Errors!!!");
                                        Console.ResetColor();

                                        Console.ForegroundColor = ConsoleColor.DarkMagenta;
                                        Console.WriteLine("\n*******************************************************************");
                                        Console.ResetColor();
                                    }
                                }
                            }
                            while (!isNameValid && errorsCount < maxErrors);
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Blue;
                            Console.WriteLine("\nHope To See You, Have Nice Day^^");
                            Console.ResetColor();

                            Console.ForegroundColor = ConsoleColor.DarkMagenta;
                            Console.WriteLine("\n*******************************************************************");
                            Console.ResetColor();

                            isLoginValid = true;
                        }
                    }
                }
                while (!isLoginValid);

                isPasswordValid = true;
            }
            else
            {
                errorsCount++;
                remaining = maxErrors - errorsCount;

                if (remaining > 0)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"\nInvalid Input, Your Errors Count Number Is: ({errorsCount})!!" +
                        "The Charactor Numbers In The Password, Cannot Be Less Than (8)Charactor Or More Than (20)Charactor");
                    Console.ResetColor();

                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"You Have ({remaining}) More Chance^^");
                    Console.ResetColor();

                    Console.ForegroundColor = ConsoleColor.DarkMagenta;
                    Console.WriteLine("\n*******************************************************************");
                    Console.ResetColor();
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    Console.WriteLine("\nYou Have Run Out Of All Allowed Errors!!!");
                    Console.ResetColor();

                    Console.ForegroundColor = ConsoleColor.DarkMagenta;
                    Console.WriteLine("\n*******************************************************************");
                    Console.ResetColor();
                }
            }
        }
        while (!isPasswordValid && errorsCount < maxErrors);

        isUserNameValid = true;
    }
    else
    {
        errorsCount++;
        remaining = maxErrors - errorsCount;

        if (remaining > 0)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine($"\nInvalid Input, Your Errors Count Number Is: ({errorsCount})!!" +
                "\nThe Charactor Numbers In The Username, Cannot Be Less Than (6)Charactor Or More Than (20)Charactor");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine($"You Have ({remaining}) More Chance^^");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("\n*******************************************************************");
            Console.ResetColor();
        }
        else
        {
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.WriteLine("\nYou Have Run Out Of All Allowed Errors!!!");
            Console.ResetColor();

            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("\n*******************************************************************");
            Console.ResetColor();
        }
    }
}
Console.ReadKey();