Application

mail@pastecode.io avatar
unknown
csharp
7 months ago
4.1 kB
6
Indexable
Never
internal class Program
{
	private static void Main(string[] args)
	{
		Application application1 = new Application();

		application1.InputLogin();

		application1.PrintMenu();

		//application1.Users[1].Role = Role.Admin;
		//application1.Users[1].AddUser(new User(2, "email3", "pass3", "name3"));

		//application1.ShowUsers();
	}
}

public class Application
{
	// Admin
	// User
	private List<User> _users = new List<User>
	{
		new User(0, "email1", "pass1", "name1") { Role = Role.Admin},
		new User(1, "email2", "pass2", "name2"),
	};

	private User _activeUser;

	private string[] _mainMenu = new string[]
	{
		"Все пользователи",
		"Настройки",
		"Выход"
	};

	private string[] _adminMainMenu = new string[]
	{
		"Все пользователи",
		"Добавить пользователя",
		"Настройки",
		"Выход"
	};

	public List<User> Users { get => _users; }

	public void ShowUsers()
	{
		Console.Clear();

		Console.WriteLine("Все пользователи");
		foreach (var user in Users)
		{
			Console.WriteLine(user.Name);
		}
	}

	public void AddUser()
	{
		Console.Clear();

		Console.WriteLine("Добавлени пользователя");
		Console.Write("Email: ");
		string newUserEmail = Console.ReadLine();
		Console.Write("Имя: ");
		string newUserName = Console.ReadLine();
		Console.Write("Пароль: ");
		string newUserPassword = Console.ReadLine();

		_users.Add(new User(23, newUserEmail, newUserPassword, newUserName));

		Console.WriteLine("Пользователь добавлен");
	}

	public void InputLogin()
	{
		while (true)
		{
			Console.Clear();

			Console.WriteLine("Войти");
			Console.Write("Имя: ");
			string inputName = Console.ReadLine();
			Console.Write("Пароль: ");
			string inputPass = Console.ReadLine();

			bool isLogin = CheckLogin(inputName, inputPass);

			if (isLogin)
			{
				Console.WriteLine("Вы успешно авторизованы");
				break;
			}
			else
			{
				Console.WriteLine("Данные не корректны");
				Console.ReadKey();
			}
		}
	}

	public void PrintMenu()
	{
		Console.Clear();

		Console.WriteLine($"Привет {_activeUser.Name} - [ {_activeUser.Role} ]");

		string[] menu = _activeUser.Role == Role.Admin ? _adminMainMenu : _mainMenu;

		for (int i = 0; i < menu.Length; i++)
		{
			Console.WriteLine($"{i + 1}. {menu[i]}");
		}

		//if (_activeUser.Role == Role.Admin)
		//{
		//	for (int i = 0; i < _adminMainMenu.Length; i++)
		//	{
		//		Console.WriteLine($"{i + 1}. {_adminMainMenu[i]}");
		//	}
		//}
		//else
		//{
		//	for (int i = 0; i < _mainMenu.Length; i++)
		//	{
		//		Console.WriteLine($"{i + 1}. {_mainMenu[i]}");
		//	}
		//}

		Console.Write("Команда: ");
		int command = Convert.ToInt32(Console.ReadLine());

		switch (command)
		{
			case 1:
				ShowUsers();
				break;
			case 2:
				break;
			case 3:
				InputLogin();
				break;
			default:
				break;
		}

		Console.WriteLine();
		Console.WriteLine("Для продолжения нажмите любую клавишу");
		Console.ReadKey();
		PrintMenu();
	}

	public bool CheckLogin(string name, string pass)
	{
		foreach (var user in _users)
		{
			if (user.Name == name && user.Password == pass)
			{
				_activeUser = user;
				return true;
			}
		}

		return false;
	}
}

public class User
{
	public int Id { get; set; }
	public string Email { get; set; }
	public string Password { get; set; }
	public string Name { get; set; }
	public Role Role { get; set; }

	public User(int id, string email, string password, string name)
	{
		Id = id;
		Email = email;
		Password = password;
		Name = name;
	}

	public void AddUser(User user)
	{
		if (Role == Role.Admin)
		{
			Console.WriteLine("Пользователь добавлен");
		}
		else
		{
			Console.WriteLine("Пользователь no добавлен");
		}
	}
}

public enum Role
{
	User,
	Admin
}


Leave a Comment