Добрый день. Изучаю с# недавно и задали сделать окно авторизации. в инете нашел код и переделал под себя но никак не могу сделать проверку логина на уникальность. Подскажите пожалуйста как решить это.
Вот сам код
namespace qwer
{
public partial class RegistrationForm : Form
{
public string login = string.Empty;
public string password = string.Empty;
private Users user = new Users();
public RegistrationForm()
{
InitializeComponent();
LoadUsers(); // Метод десериализует класс.
}
private void LoadUsers()
{
try
{
FileStream fs = new FileStream("Users.dat", FileMode.Open);
BinaryFormatter formatter = new BinaryFormatter();
user = (Users)formatter.Deserialize(fs);
fs.Close();
}
catch { return; }
}
private void EnterToForm()
{
for (int i = 0; i < user.Logins.Count; i++) // Ищем пользователя и проверяем правильность пароля.
{
if (user.Logins[i] == loginTextBox.Text && user.Passwords[i] == passwordTextBox.Text)
{
login = user.Logins[i];
password = user.Passwords[i];
this.Close();
}
else if (user.Logins[i] == loginTextBox.Text && passwordTextBox.Text != user.Passwords[i])
{
login = user.Logins[i];
MessageBox.Show("Неверный пароль!");
}
}
if (login == "") { MessageBox.Show("Пользователь " + loginTextBox.Text + " не найден!"); }
}
private void AddUser() // Регистрируем нового пользователя.
{
if (loginTextBox.Text == "" || passwordTextBox.Text == "") { MessageBox.Show("Не введен логин или пароль!"); return; }
user.Logins.Add(loginTextBox.Text);
user.Passwords.Add(passwordTextBox.Text);
if (Regex.IsMatch(passwordTextBox.Text, "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{10,}$"))
{
// пароль верен
}
else
{
MessageBox.Show("Пароль должен содержать минимум десять символов, как минимум одна заглавная буква, одна строчная буква и одна цифра.");
return;
}
for (int i = 0; i < user.Logins.Count; i++) // Ищем пользователя и проверяем правильность пароля.
{
if (login == loginTextBox.Text )
{
login = user.Logins[i];
MessageBox.Show("Пользователь с таким логином уже существует.");
return;
}
}
FileStream fs = new FileStream("Users.dat", FileMode.OpenOrCreate);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, user); // Сериализуем класс.
fs.Close();
login = loginTextBox.Text;
this.Close();
}
private void regButton_Click(object sender, EventArgs e)
{
AddUser();
}
private void exitButton_Click(object sender, EventArgs e)
{
Application.Exit(); // Закрываем программу.
}
private void enterButton_Click(object sender, EventArgs e)
{
EnterToForm();
}
private void RegistrationForm_FormClosed(object sender, FormClosedEventArgs e)
{
if (login == "" | password == "") { Application.Exit(); }
}
}
}