Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Refactoring
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<User> users = new List<User>()
- {
- new User("Test1", "1234"),
- new User("Test2", "4321")
- };
- User logedUser = null;
- while (logedUser == null)
- {
- logedUser = Login(users);
- }
- }
- private static User Login(List<User> users, int incorectPassCount = 3)
- {
- string name = ReadNotEmptyString("Введите имя пользователя");
- var targetUser = FindUserWithName(users, name);
- if (targetUser != null)
- {
- for (int tryCount = 0; tryCount < incorectPassCount; tryCount++)
- {
- var isWantToWritePassword = ConfirmQuestion($"Пользователь {name} уже существует. Желаете ли вы ввести пароль для этого пользователя?");
- var password = ReadInvisibiltyString();
- if (targetUser.Password == password)
- return targetUser;
- else
- Console.WriteLine("Пароль не верный");
- }
- }
- else
- {
- Console.WriteLine("Такого пользователя нет");
- }
- return null;
- }
- private static bool ConfirmQuestion(string message)
- {
- Console.Write($"{message} Введите Yes/no:");
- var answer = Console.ReadLine();
- return answer.ToLower() == "yes";
- }
- private static string ReadInvisibiltyString()
- {
- var result = string.Empty;
- var key = Console.ReadKey(true);
- if (key.Key == ConsoleKey.Enter)
- return result;
- result += key.KeyChar;
- return result;
- }
- private static User FindUserWithName(List<User> users, string name)
- {
- foreach (var user in users)
- if (user.Name == name)
- return user;
- return null;
- }
- private static string ReadNotEmptyString(string message)
- {
- string result = Console.ReadLine();
- while (result != string.Empty)
- {
- Console.Write($"Имя не может быть пустым!\r\n{message}: ");
- result = Console.ReadLine();
- }
- return result;
- }
- }
- class User
- {
- private string _name;
- private string _password;
- public User(string name, string password)
- {
- Name = name;
- Password = password;
- }
- public string Name { get => _name; set => _name = value; }
- public string Password { get => _password; set => _password = value; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement