예제 #1
0
        private void EnterButton_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(LoginTextBox.Text))
            {
                MessageBox.Show("Введите логин ", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (string.IsNullOrEmpty(PasswordTextBox.Password))
            {
                MessageBox.Show("Введите пароль", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            var user = new UserViewModel();

            //открываем главное окно по кнопке входа
            if (Data.SignIn(LoginTextBox.Text, Data.GetHashString(PasswordTextBox.Password)))
            {
                MainWindow mainwindow = new MainWindow(Data);
                mainwindow.Show();
                Closing -= Window_Closing;
                Close();
            }
            else
            {
                MessageBox.Show("Неверный логин/E-mail или пароль");
            }
        }
예제 #2
0
        private void ChangeProfileButton_Click(object sender, RoutedEventArgs e)
        {
            if (ChangeProfileButton.Content.ToString() == "Редактировать")
            {
                FIOTextBox.Focusable   = true;
                FIOTextBox.IsEnabled   = true;
                LoginTextBox.Focusable = true;
                LoginTextBox.IsEnabled = true;
                EmailTextBox.Focusable = true;
                EmailTextBox.IsEnabled = true;

                PasswordTextBox.Focusable        = true;
                PasswordTextBox.IsEnabled        = true;
                PasswordConfirmTextBox.IsEnabled = true;
                PasswordConfirmTextBox.Focusable = true;
                ChangeProfileButton.Content      = "Сохранить изменения";
            }
            else
            {
                string changed = ""; //выведем пользователю те поля, которые были изменены. изменяются только те поля, которые он ввёл в соответствующие текстбоксы
                var    user    = Data.CurrentUser;



                if (PasswordTextBox.Password != "")
                {
                    if (PasswordTextBox.Password == PasswordConfirmTextBox.Password)
                    {
                        user.UserPassword = Data.GetHashString(PasswordTextBox.Password);
                        changed          += " Пароль; ";
                    }
                    else
                    {
                        MessageBox.Show("Введённые пароли не совпадают", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                }
                else
                {
                    user.UserPassword = Password;
                }
                if (FIOTextBox.Text != CurrentFIO)
                {
                    user.UserFIO = FIOTextBox.Text;
                    changed     += " ФИО; ";
                }
                if (LoginTextBox.Text != CurrentLogin)
                {
                    user.UserLogin = LoginTextBox.Text;
                    changed       += " Логин; ";
                }
                if (EmailTextBox.Text != CurrentEmail)
                {
                    user.UserMail = EmailTextBox.Text;
                    changed      += " E-mail; ";
                }
                try
                {
                    var response = APIClient.PostRequest("api/User/UpdElement", user);

                    if (!response.Result.IsSuccessStatusCode)
                    {
                        throw new Exception(APIClient.GetError(response));
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                MessageBox.Show(changed + " были обновлены", "Успешно изменено", MessageBoxButton.OK);

                ChangeProfileButton.Content      = "Редактировать";
                FIOTextBox.Focusable             = false;
                LoginTextBox.Focusable           = false;
                EmailTextBox.Focusable           = false;
                PasswordTextBox.Focusable        = false;
                PasswordConfirmTextBox.Focusable = false;
            }
        }
예제 #3
0
        private void EnterButton_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(FIOTextBox.Text))
            {
                //MessageBox.Show("Введите ФИО", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                ErrorText.Text = "Введите ФИО";
                FIOTextBox.Focus();
                return;
            }
            if (string.IsNullOrEmpty(LoginTextBox.Text))
            {
                //MessageBox.Show("Введите логин", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                ErrorText.Text = "Введите логин";
                LoginTextBox.Focus();
                return;
            }
            if (string.IsNullOrEmpty(EmailTextBox.Text))
            {
                //MessageBox.Show("Введите E-mail", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                ErrorText.Text = "Введите E-mail";
                EmailTextBox.Focus();
                return;
            }
            if (string.IsNullOrEmpty(PasswordTextBox.Password))
            {
                //MessageBox.Show("Введите пароль", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                ErrorText.Text = "Введите пароль";
                PasswordTextBox.Focus();
                return;
            }

            if (PasswordTextBox.Password != SecondPasswordTextBox.Password)
            {
                //MessageBox.Show("Введённые пароли не совпадают", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                ErrorText.Text = "Введённые пароли не совпадают";
                SecondPasswordTextBox.Focus();
                return;
            }
            string mail = EmailTextBox.Text;

            if (!string.IsNullOrEmpty(mail))
            {
                if (!Regex.IsMatch(mail, @"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
                                   @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$"))
                {
                    //MessageBox.Show("Неверный формат электронной почты", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                    ErrorText.Text = "Неверный формат электронной почты";
                    return;
                }
            }
            if (PasswordTextBox.Password == SecondPasswordTextBox.Password)
            {
                try
                {
                    if (Data.AddElement(new User
                    {
                        UserFIO = FIOTextBox.Text,
                        UserMail = EmailTextBox.Text,
                        UserLogin = LoginTextBox.Text,
                        UserPassword = Data.GetHashString(PasswordTextBox.Password),
                        isAdmin = false
                    }))
                    {
                        throw new Exception("Не удалось зарегистрироваться");
                    }
                    Data.UpdateUsers();
                    MessageBox.Show("Вы успешно зарегистрировались, используйте введённые данные для входа", "Успешно", MessageBoxButton.OK, MessageBoxImage.None);
                    Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка");
                }
            }
        }