Пример #1
0
        private void buttonSignUp_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBoxUsername.Text))
            {
                MessageBox.Show("Необходимо ввести логин", "Ошибка!");
                textBoxUsername.Focus();
                return;
            }

            if (!Data.checkUsernameValidity(textBoxUsername.Text))
            {
                MessageBox.Show("Использованы запрещенные символы. Разрешены: латинские символы, цифры и нижнее подчёркивание", "Ошибка!");
                textBoxUsername.Focus();
                return;
            }

            if (!Data.checkIfUsernameIsUsed(textBoxUsername.Text))
            {
                MessageBox.Show("Данный логин занят. Необходимо использовать другой логин", "Ошибка!");
                textBoxUsername.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(textBoxName.Text))
            {
                MessageBox.Show("Необходимо ввести имя", "Ошибка!");
                textBoxName.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(textBoxSurname.Text))
            {
                MessageBox.Show("Необходимо ввести фамилию", "Ошибка!");
                textBoxSurname.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(passwordBox.Password))
            {
                MessageBox.Show("Необходимо ввести пароль", "Ошибка!");
                passwordBox.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(passwordBoxRepeat.Password))
            {
                MessageBox.Show("Необходимо повторно ввести пароль", "Ошибка!");
                passwordBoxRepeat.Focus();
                return;
            }
            else if (passwordBox.Password != passwordBoxRepeat.Password)
            {
                MessageBox.Show("Введенные пароли не совпадают", "Ошибка!");
                return;
            }

            Data.ReadUsersData();
            int usersCount = Data.Users.Count;

            if (usersCount == 0)
            {
                Data.Users.Add(new User(textBoxUsername.Text, textBoxName.Text, textBoxSurname.Text, passwordBox.Password, true));
                MessageBox.Show($"{textBoxName.Text}, вы были успешно зарегистрированы в системе, как \"{textBoxUsername.Text}\".\nТак как вы являетесь первым пользователем, вам предоставлены права администратора.", "Успешно!");
            }
            else
            {
                Data.Users.Add(new User(textBoxUsername.Text, textBoxName.Text, textBoxSurname.Text, passwordBox.Password));
                MessageBox.Show($"{textBoxName.Text}, вы были успешно зарегистрированы в системе, как \"{textBoxUsername.Text}\"", "Успешно!");
            }

            Data.LoggedUser = Data.Users.LastOrDefault();
            Data.UpdateUsersData();
            Pages.ChangeFrameSize(500, 750);
            Pages.MainPageAsUser.UpdateSearchState();
            Logger.Log($"Регистрация и вход пользователя: \"{textBoxUsername.Text}\"");
            if (Data.LoggedUser != null && Data.LoggedUser.IsAdmin)
            {
                NavigationService.Navigate(Pages.MainPageAsAdmin);
            }
            if (Data.LoggedUser != null && !Data.LoggedUser.IsAdmin)
            {
                NavigationService.Navigate(Pages.MainPageAsUser);
            }
        }