示例#1
0
        /// <summary>
        /// Отправить код на почту
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SendCodeToEmail_Click(object sender, RoutedEventArgs e)
        {
            if (!InternetState.CheckForInternetConnection())
            {
                ContexTrayMenu.ShowMessage("Ошибка!", "Отсутствует подключение к интернету!", System.Windows.Forms.ToolTipIcon.Error);
                return;
            }
            //Если поле почтового ящика не пусто и почтовый ящик "валидный"
            if (!String.IsNullOrEmpty(emailTextBox.Text) && EmailChecker.IsValidEmail(emailTextBox.Text))
            {
                //Получаем ссылку на пользователя
                employee = EmployeeService.UsersCollection.Where(x => x.Email == emailTextBox.Text).FirstOrDefault();

                //если пользователь есть в базе
                if (employee != null)
                {
                    //Генерируем секретный код
                    secretCode = Randomizer.GetNumber(1, 10000);

                    //Получаем введенный пользователем почтовый ящик
                    String email = emailTextBox.Text.Trim();

                    //Отправляем сообщение на введенный пользователем почтовый ящик с секретный кодом
                    Task.Run(() =>
                    {
                        emailSender.Body = $"Код для восстановления пароля : {secretCode}";

                        emailSender.Subject = "Восстановление пароля";

                        emailSender.To = email;

                        emailSender.Send();
                    });

                    //Запускаем анимацию, которая переводит нас на "страницу" подтверждения секретного кода
                    AnimationHelper.StartAnimation(this, "EmailToCode", delegate { });
                }
                else
                {
                    ContexTrayMenu.ShowMessage("Ошибка!", "Пользователя с таким почтовым ящиком не существует!", System.Windows.Forms.ToolTipIcon.Error);
                }
            }
            else
            {
                ContexTrayMenu.ShowMessage("Ошибка!", "Поле не может быть пустым или введенный текст не ялвяется почтовым ящиком!", System.Windows.Forms.ToolTipIcon.Error);
            }
        }
示例#2
0
        /// <summary>
        /// Открыть "Уведомления"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Notify_Click(object sender, RoutedEventArgs e)
        {
            if (notificationPanel.Visibility == Visibility.Collapsed)
            {
                AnimationHelper.StartAnimation(this, "showNotifications", (x, y) =>
                {
                    BlurEffect effect = new BlurEffect()
                    {
                        Radius        = 3,
                        RenderingBias = RenderingBias.Quality
                    };

                    mainFrame.Effect = effect;
                });
            }
            else
            {
                AnimationHelper.StartAnimation(this, "hideNotifications", (x, y) =>
                {
                    mainFrame.Effect = null;
                });
            }
        }
示例#3
0
        /// <summary>
        /// Смена пароля
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChangePassword_Click(object sender, RoutedEventArgs e)
        {
            if (passwordbox1.Password == passwordbox2.Password)
            {
                using (var connection = new MySqlConnection(ConnectionDB.Connection))
                {
                    employee.Password = HashCode.GenerateHash(passwordbox2.Password);

                    var query = $"UPDATE Employers SET Password = '******' WHERE ID = {employee.ID}";


                    Task.Run(() =>
                    {
                        connection.Open();
                        new MySqlCommand(query, connection).ExecuteNonQuery();

                        //Обновляем коллекцию пользователей
                        EmployeeService.UsersCollection.Where(user => user.ID == employee.ID).FirstOrDefault().Update(employee);
                    });

                    var loginPage = new LoginPage();

                    loginPage.Loaded += delegate
                    {
                        AnimationHelper.StartAnimation(loginPage, "loadingPage", delegate { });
                    };

                    (Application.Current.MainWindow as MainWindow).mainFrame.Content = loginPage;

                    ContexTrayMenu.ShowMessage("Информация!", "Пароль был успешно изменен!", System.Windows.Forms.ToolTipIcon.Info);
                }
            }
            else
            {
                ContexTrayMenu.ShowMessage("Ошибка!", "Пароли должны совпадать!", System.Windows.Forms.ToolTipIcon.Error);
            }
        }
示例#4
0
 /// <summary>
 /// Конструктор по-умолчанию
 /// </summary>
 public RecoverPasswordPage()
 {
     InitializeComponent();
     helper      = new AnimationHelper();
     emailSender = new EmailSender();
 }