Esempio n. 1
0
        private void changePwd_Click(object sender, RoutedEventArgs e)
        {
            StreamReader myReader = new StreamReader(way);

            string line;

            string[] data;
            bool     flag = false;

            line = myReader.ReadLine();
            do
            {
                data = line.Split('|');
                if (data[0] == "admin")
                {
                    flag = true;
                    break;
                }
                line = myReader.ReadLine();
            } while (line != null);

            myReader.Dispose();
            myReader.Close();
            if (flag)
            {
                user user = new user(data, myDataGrid);
                user.ShowDialog();
            }
            else
            {
                MessageBox.Show("Где админ????", "Ошибка!");
            }
        }
        private void enter_Click(object sender, RoutedEventArgs e)
        {
            List <MyTable> result = createMyList();

            bool   flag = false, adminF = false, okay = false, newPass = false;
            string login = loginT.Text;
            string pass  = passT.Password;

            StreamReader myReader = new StreamReader(way);

            string line;

            string[] data = { "" };

            line = myReader.ReadLine();
            int i = 0;

            do
            {
                i = 0;
                foreach (var a in line)
                {
                    if (a == '|')
                    {
                        i++;
                    }
                }
                if (i != 3)
                {
                    MessageBox.Show("Уберите символ | из полей ввода!", "Ошибка!");
                    break;
                }
                data = line.Split('|');
                if (data[0] == login && data[1] == "")
                {
                    newPass = true;
                }
                if (login == data[0] && (VerifyMd5Hash(pass, data[1]) || newPass) && data[2] != "+" && (data[3] == "-" || data[3] == "+") && (data[3] == "-" || checkData(pass)))
                {
                    okay = true;
                    if (pass != "")
                    {
                        if (newPass)
                        {
                            accept a = new accept(pass);
                            a.ShowDialog();
                            if (!a.flag)
                            {
                                MessageBox.Show("Неправильный пароль!", "Ошибка");
                                break;
                            }
                        }
                        flag = true;
                        if (data[0] == "admin")
                        {
                            adminF = true;
                        }
                        if (null != result.Find(x => x.password == "" && x.login == login))
                        {
                            result.Remove(result.Find(x => x.password == "" && x.login == login));
                            result.Add(new MyTable(data[0], HashPassword(pass), data[2], data[3]));
                        }
                        break;
                    }
                    else
                    {
                        MessageBox.Show("Введите пароль", "Ошибка");
                        break;
                    }
                }
                else if (login == data[0] && (VerifyMd5Hash(pass, data[1]) || newPass) && data[3] == "+" && !checkData(pass))
                {
                    MessageBox.Show("В пароле должны присутствовать латинские буквы, символы кириллицы и знаки арифметических операций!", "Ошибка");

                    if (!newPass)
                    {
                        myReader.Close();
                        user user = new user(data);
                        user.ShowDialog();
                    }
                    break;
                }
            } while ((line = myReader.ReadLine()) != null);

            myReader.Close();

            if (newPass)
            {
                StreamWriter myWriter = new StreamWriter(way);

                foreach (var a in result)
                {
                    myWriter.WriteLine(a.login + "|" + a.password + "|" + a.ban + "|" + a.limit);
                }
                myWriter.Close();
            }
            if (flag && adminF)
            {
                flag      = !flag;
                countMiss = 0;
                admin admin = new admin(codeEnc);
                admin.ShowDialog();
                if (admin.myCodeEnc != codeEnc)
                {
                    codeEnc = admin.myCodeEnc;
                }
            }
            else if (flag && !adminF)
            {
                countMiss = 0;
                userWindow user = new userWindow(data);
                user.ShowDialog();
            }
            else
            if (data[2] == "+")
            {
                MessageBox.Show("Вы пытаетесь зайти в заблокированный аккаунт!", "Ошибка!");
            }
            else
            {
                countMiss++;
                if (countMiss == 3)
                {
                    this.Close();
                }
                if (!okay)
                {
                    MessageBox.Show("Проверьте логин и пароль", "Ошибка");
                }
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            user user = new user(data);

            user.ShowDialog();
        }