public static void Register() { string username = null; string password = null; string password2 = null; string email = null; bool privateAccount = true; bool premium = false; string a = null; string b = null; string c = null; string d = null; bool usertaken = false; bool emailtaken = false; string pvt = ""; string prem = ""; List <string> registrationForm = new List <string>() { "Username: "******"Email: ", "Password: "******"Confirm password: "******"Private account? y/n", "Premium user? y/n", "Ready!", "Back" }; List <string> yesNo = new List <string>() { "Yes", "No" }; while (true) { string sel = RegexUtilities.GetMenu(registrationForm); if (sel == registrationForm[0]) { registrationForm[0] = registrationForm[0].Substring(0, 10); Console.Clear(); RegexUtilities.LoadingScreen(); Console.CursorVisible = true; username = RegexUtilities.WriteData(registrationForm[0]); Console.CursorVisible = false; usertaken = UserDB.ContainsKey(username); if (usertaken == true) { usertaken = true; Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Username taken, please choose a different one."); Thread.Sleep(1000); Console.Clear(); } else { registrationForm[0] += username; usertaken = false; } Console.Clear(); RegexUtilities.LoadingScreen(); } else if (sel == registrationForm[1]) { registrationForm[1] = registrationForm[1].Substring(0, 7); Console.Clear(); RegexUtilities.LoadingScreen(); Console.CursorVisible = true; email = RegexUtilities.WriteData(registrationForm[1]); foreach (User user in UserDB.Values) { if (user.GetEmail() == email) { emailtaken = true; break; } else { emailtaken = false; } } Console.CursorVisible = false; if (RegexUtilities.IsValidEmail(email) == true && emailtaken == false) { registrationForm[1] += email; } else { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Invalid email or email already in use!"); Thread.Sleep(1000); Console.Clear(); email = null; } Console.Clear(); RegexUtilities.LoadingScreen(); } else if (sel == registrationForm[2]) { registrationForm[2] = registrationForm[2].Substring(0, 10); Console.Clear(); RegexUtilities.LoadingScreen(); Console.CursorVisible = true; Console.Write(registrationForm[2]); password = RegexUtilities.HidePassword(); Console.CursorVisible = false; Console.Clear(); RegexUtilities.LoadingScreen(); a = ""; foreach (char item in password) { a += "•"; } registrationForm[2] = $"Password: {a}"; } else if (sel == registrationForm[3] && password == null) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("You must enter a password first!"); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); } else if (sel == registrationForm[3] && password != null) { registrationForm[3] = registrationForm[3].Substring(0, 18); Console.Clear(); RegexUtilities.LoadingScreen(); Console.CursorVisible = true; Console.Write(registrationForm[3]); password2 = RegexUtilities.HidePassword(); b = ""; foreach (char item in password2) { b += "•"; } registrationForm[3] = $"Confirm password: {b}"; Console.CursorVisible = false; Console.Clear(); RegexUtilities.LoadingScreen(); } else if (sel == registrationForm[4]) { c = "x"; while (true) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Do you want your account to be private?"); pvt = RegexUtilities.GetMenu(yesNo); if (pvt == "Yes") { privateAccount = true; registrationForm[4] = registrationForm[4].Substring(0, 15); registrationForm[4] += ": Yes"; break; } else if (pvt == "No") { privateAccount = false; registrationForm[4] = registrationForm[4].Substring(0, 15); registrationForm[4] += ": No"; break; } } Console.Clear(); } else if (sel == registrationForm[5]) { d = "x"; while (true) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Do you want to get our premium service for only $3.990/month?"); // Que incluye...? prem = RegexUtilities.GetMenu(yesNo); if (prem == "Yes") { premium = true; registrationForm[5] = registrationForm[5].Substring(0, 12); registrationForm[5] += ": Yes"; break; } else if (prem == "No") { premium = false; registrationForm[5] = registrationForm[5].Substring(0, 12); registrationForm[5] += ": No"; break; } } Console.Clear(); RegexUtilities.LoadingScreen(); } else if (sel == registrationForm[6]) { if (username == null | usertaken == true) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Username in already taken or empty!"); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); } else if (password != password2 | password == null | password2 == null | password == "" | password2 == "") { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Password doesn't match or empty!"); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); } else if (email == null | emailtaken == true | email == "") { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Please enter a valid email address!"); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); } else if (c == null) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("You have to select if you want your account to be private!"); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); } else if (d == null) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("You have to select if you want a premium account!"); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); } else { User user = new User(username, email, password, privateAccount, premium, false); UserDB.Add(username, user); Console.Clear(); Console.WriteLine("User created successfully!"); Console.WriteLine("Now you can log in with your username and password."); Thread.Sleep(1000); Console.Clear(); RegexUtilities.LoadingScreen(); return; } } else if (sel == registrationForm[7]) { return; } if (password == password2 && password != null) { registrationForm[2] = $"Password: {a} ✔"; registrationForm[3] = $"Confirm password: {b} ✔"; } else if (password != password2 && password != null && password2 != null) { registrationForm[2] = $"Password: {a} ✗"; registrationForm[3] = $"Confirm password: {b} ✗"; } } }
public static string LogIn() { string username = ""; string password = ""; string a = ""; List <string> opt = new List <string>() { "Welcome back!", "Username: "******"Password: "******"Log In ->", "Back" }; while (true) { Console.Clear(); RegexUtilities.LoadingScreen(); string selected = RegexUtilities.GetMenu(opt); if (selected == "Back") { Console.Clear(); return(""); } else if (selected == opt[1]) { Console.CursorVisible = true; Console.Clear(); RegexUtilities.LoadingScreen(); opt[1] = opt[1].Substring(0, 10); username = RegexUtilities.WriteData(opt[1]); opt[1] += username; Console.CursorVisible = false; } else if (selected == opt[2]) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.CursorVisible = true; opt[2] = opt[2].Substring(0, 10); Console.Write(opt[2]); password = RegexUtilities.HidePassword(); a = ""; foreach (char item in password) { a += "•"; } opt[2] = $"Password: {a}"; Console.CursorVisible = false; } else if (selected == "Log In ->") { try { User user = UserDB[username]; if (user.GetPassword() == password) { Console.WriteLine("Login successful!"); Console.WriteLine($"Welcome {username}"); Thread.Sleep(1000); Console.Clear(); return(username); } else { Console.Clear(); Console.WriteLine("Wrong password!"); Thread.Sleep(1000); Console.Clear(); } } catch (Exception) { Console.Clear(); RegexUtilities.LoadingScreen(); Console.WriteLine("Username doesn't exist!"); Thread.Sleep(1000); Console.Clear(); } } } }