Beispiel #1
0
        public static BusinessLibraryEntities GetContex()
        {
            if (_contex == null)
            {
                _contex = new BusinessLibraryEntities();
            }

            return(_contex);
        }
Beispiel #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string Name = Login.Text; // Текст введёный пользователем в поле логина
            string password;          // Переменная для пароля введённым пользователем

            password = Password_1.Password;

            if (Password_ninjza.IsChecked == true)  // Если выбрана галочка для показывание пароля, то в переменную password ложится текст из поля для пароля и наоборот, так как всё реализовано с помошью двух обьектов
            {
                password = Password.Text;
            }
            else
            {
                password = Password_1.Password;
            }

            Password.Text = password;                        // Для шифрования

            if ((Login.Text != "") || (Password.Text != "")) // Проверка на пустату полей Логина и Пароля
            {
                if (Login.Text == "")
                {
                    MessageBox.Show("Заполните поле логина",
                                    "Внимание",
                                    MessageBoxButton.OK,
                                    MessageBoxImage.Warning);
                }
                if (Password.Text == "")
                {
                    MessageBox.Show("Заполните поле пароля",
                                    "Внимание",
                                    MessageBoxButton.OK,
                                    MessageBoxImage.Warning);
                }

                try                                                                                                                                            // Для не предвиденных событий
                {
                    var userObj = BusinessLibraryEntities.GetContex().Avtorizations.FirstOrDefault(x => x.Login == Login.Text && x.Password == Password.Text); // Проверка и сопастовления введёных данных пользователя с существующеми данными в БД
                    var profer  = BusinessLibraryEntities.GetContex().Profer.FirstOrDefault();                                                                 // Для вытягивания данных о руководителях

                    if (userObj == null)                                                                                                                       // Если пользователь ввёл не правильно данные
                    {
                        MessageBox.Show("Такого пользователя нет",
                                        "Ошибка Авторизации",
                                        MessageBoxButton.OK,
                                        MessageBoxImage.Warning);
                        num += 1;     // Счётчик для 5 неправельных вводов
                        if (num == 5) // В этом блоке отключаем кнопку и задерживаем время на 10сек, до аовторных попыток
                        {
                            btnOpen.IsEnabled = false;
                            MessageBox.Show("Вы использовали пять попыток входа подождите 10 секунд, и попробуйте ещё раз",
                                            "Внимание",
                                            MessageBoxButton.OK,
                                            MessageBoxImage.Warning);
                            num = 0;
                            Thread.Sleep(10000);
                            btnOpen.IsEnabled = true;
                        }
                    }
                    else
                    {
                        var user = "";
                        if (userObj.id_Pofer == profer.id_Profer)                         // Сравниваем в БД Данные Руководителей
                        {
                            user = profer.Name + " " + profer.FName + " " + profer.LName; // Создали ранее переменную в которую сложим ФИО Руково-лей
                        }

                        if (userObj.id_Pofer == 3)
                        {
                            swift = 1;
                            DirectoryInfo admininfo = new DirectoryInfo(admin);
                            if (!admininfo.Exists) // Если файл существует
                            {
                                sw = new StreamWriter(admin);
                                sw.Write(swift);
                                sw.Close();
                            }
                        }
                        else
                        {
                            swift = 0;
                            DirectoryInfo admininfo = new DirectoryInfo(admin);
                            if (!admininfo.Exists) // Если файл существует
                            {
                                sw = new StreamWriter(admin);
                                sw.Write(swift);
                                sw.Close();
                            }
                        }

                        MessageBox.Show("Рады вас видить " + $"{user}", // Вобщем это для декора, и какой сотрудник зашёл в приложение
                                        "Добро пожаловать");
                        this.Hide();                                    // Вскрываем главное Окно MainWindow
                        WorkGo workgo = new WorkGo();                   // Создали обьект экземпляра для второго Окна
                        workgo.Show();                                  // Показываем при успешной попытки
                        this.Close();                                   // Закрываем главное окно MainWindow

                        if (Load_date.IsChecked == true)                // Если галочка стоит на запомнить меня
                        {
                            on = 1;                                     // Как раз помещаем в переменную для активации заполнения полей

                            string Logint      = Login.Text;
                            string passwordL   = Password.Text;
                            string PasswordPas = Password_1.Password;

                            if (passwordL == "") // Если пустое поле textbox пароля, заполненяется с Password так как эот поле каторе в начеле видно!!!
                            {
                                passwordL = PasswordPas;
                            }

                            DirectoryInfo directoryInfo  = new DirectoryInfo(patch);  // Организация директория путя к файлу Логина
                            DirectoryInfo directoryInfo2 = new DirectoryInfo(patch1); // Организация директория путя к файлу Пароля
                            DirectoryInfo info           = new DirectoryInfo(number); // Организация директория путя к файлу активацию

                            try                                                       // Способ обхода не предвиденных действий
                            {
                                if (!directoryInfo.Exists)                            // Если файл существует
                                {
                                    sw = new StreamWriter(patch);
                                    sw.Write(Logint);
                                    sw.Close();
                                }
                                if (!directoryInfo2.Exists) // Если файл существует
                                {
                                    sw = new StreamWriter(patch1);
                                    sw.Write(passwordL);
                                    sw.Close();
                                }
                                if (!info.Exists) // Если файл существует
                                {
                                    sw = new StreamWriter(number);
                                    sw.Write(on);
                                    sw.Close();
                                }
                            }
                            catch (Exception ex) // Показывает об не предведенных ошибках
                            {
                                MessageBox.Show(ex.Message);
                            }
                        }
                        else // Если снял галочку, с запоминания!!!
                        {
                            on = 0; // Чтобы не ативировать запоминания данных входа
                            sw = new StreamWriter(number); // Для записи чтобы не было багов, так как в файле 1, и если мы не работает
                            sw.Write(on);
                            sw.Close();
                        }
                    }
                }
                catch (Exception ex) // Показывает об не предведенных ошибках
                {
                    MessageBox.Show("Ошибка " + ex.Message.ToString(),
                                    "Критичиская работа приложения",
                                    MessageBoxButton.OK,
                                    MessageBoxImage.Warning);
                }
            }
            else
            {
                MessageBox.Show("Заполните поля авторизации",
                                "Внимание",
                                MessageBoxButton.OK,
                                MessageBoxImage.Warning);
            }
        }