Example #1
0
        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);
        }
Example #5
0
        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();
        }