public static void ClientBaseSave(ClientsCollection clientsCollection) { FileStream stream = new FileStream("clientsDataBase.dat", FileMode.OpenOrCreate, FileAccess.Write); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, clientsCollection); stream.Close(); }
bool LoginCheck(string login, ClientsCollection collection) { if (collection.CheckContainsLogin(login)) { return(true); } return(false); }
public Client DoAuthorization(ClientsCollection clientsCollection) { Console.Write("Логин: "); while (true) { login = Console.ReadLine(); if (login.ToLower() == "quit") { Environment.Exit(0); break; } if (!LoginCheck(login, clientsCollection)) { Console.WriteLine("Логин не верный или не существует! Повторите попытку"); continue; } else { break; } } Console.Write("Пароль: "); while (true) { password = Console.ReadLine(); if (password.ToLower() == "quit") { Environment.Exit(0); break; } if (!PassCheck(login, password, clientsCollection)) { Console.WriteLine("Не верный пароль! Повторите попытку"); continue; } break; } foreach (Client client in clientsCollection.clients) { if (client.Login == login) { Console.Clear(); return(client); } } return(null); }
bool PassCheck(string login, string password, ClientsCollection collection) { foreach (Client client in collection.clients) { if (client.Login == login) { if (client.CheckPassword(password)) { return(true); } } } return(false); }
public static ClientsCollection ClientBaseLoad() { ClientsCollection clientsCollection; if (File.Exists("clientsDataBase.dat")) { FileStream clientsFileStream = new FileStream("clientsDataBase.dat", FileMode.Open, FileAccess.ReadWrite); BinaryFormatter formatter = new BinaryFormatter(); clientsCollection = formatter.Deserialize(clientsFileStream) as ClientsCollection; clientsFileStream.Close(); } else { clientsCollection = new ClientsCollection(); FileStream stream = new FileStream("clientsDataBase.dat", FileMode.OpenOrCreate, FileAccess.Write); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, clientsCollection); stream.Close(); } return(clientsCollection); }
public void DoFirstChoice(ClientsCollection clientsCollection) { while (true) { Console.WriteLine("1. Авторизация" + new string(' ', 5) + "2. Регистрация"); choose = Console.ReadLine(); switch (choose.ToLower()) { case "1": { break; } case "2": { ToRegister(ref clientsCollection); continue; } case "quit": { Environment.Exit(0); break; } default: { Console.WriteLine("Не верный выбор повторите попытку"); continue; } } break; } }
public void ToRegister(ref ClientsCollection clientsCollection) { Regex loginPassRuls = new Regex(@"^[a-zA-Z0-9]+$"); Regex phoneRegex = new Regex(@"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}"); Regex nameRegex = new Regex(@"^[а-яА-Яa-zA-Z]+$"); Console.WriteLine("ВАЖНО! Вводите только латинские символы и цифры!!!"); Console.WriteLine(new string('-', 50)); Console.Write("Введите логин: "); while (true) { login = Console.ReadLine(); if (login == "quit") { Environment.Exit(0); break; } if (!loginPassRuls.IsMatch(login)) { Console.WriteLine("Недопустимые символы, повторите попытку!"); continue; } if (clientsCollection.CheckContainsLogin(login)) { Console.WriteLine("Логин уже занят! Введите другой"); continue; } break; } Console.Write("Введите пароль: "); while (true) { password = Console.ReadLine(); if (!loginPassRuls.IsMatch(password)) { Console.WriteLine("Недопустимые символы, повторите попытку!"); continue; } break; } Console.Write("Введите имя: "); while (true) { name = Console.ReadLine(); if (!nameRegex.IsMatch(name)) { Console.WriteLine("Недопустимые символы, повторите попытку!"); continue; } break; } Console.Write("Введите номер телефона: "); while (true) { string number = Console.ReadLine(); if (!phoneRegex.IsMatch(number)) { Console.WriteLine("Номер указан не верно, повторите попытку!"); continue; } int.TryParse(string.Join("", number.Where(c => char.IsDigit(c))), out phoneNumber); break; } clientsCollection.AddClient(login, password, name, phoneNumber); DataBaseController.ClientBaseSave(clientsCollection); Console.WriteLine(new string('-', 20) + "Регистрация завершена успешно" + new string('-', 20)); Console.Write("Нажмите любую клавишу для продолжения"); Console.ReadKey(); Console.Clear(); }