예제 #1
0
 private void Change(object sender, RoutedEventArgs e)//ИЗМЕНИТЬ СВОИ ДАННЫЕ (ДАННЫЕ ТЕКУЩЕЙ УЧЕТНОЙ ЗАПИСИ)
 {
     try
     {
         using (dbUsersEntities db = new dbUsersEntities())
         {
             if (Authorization.ValidInput(sPass.Text, "pass"))
             {
                 var changedUser   = db.users.Where(c => c.login == sLogin.Text).FirstOrDefault();
                 var changedPerson = db.person.Where(c => c.login_user == sLogin.Text).FirstOrDefault();
                 changedUser.pass    = sPass.Text;
                 changedPerson.name  = sName.Text;
                 changedPerson.phone = sPhone.Text;
                 db.SaveChanges();
             }
             else
             {
                 sStatus.Content = "Поля заполнены неверно";
                 MessageBox.Show("Для логина и пароля используйте\nлатинские заглавные и прописные буквы и цифры,\nдля имени - только буквы");
             }
         }
         sStatus.Content = "Данные изменены";
     }
     catch
     {
         sStatus.Content = "Ошибка! Возможно проблемы с сетью.";
     }
 }
예제 #2
0
 private void ViewData(object sender, RoutedEventArgs e)//ПОСМОТРЕТЬ ДАННЫЕ
 {
     try
     {
         if (Authorization.Checklogin(sLogin.Text))
         {
             using (dbUsersEntities db = new dbUsersEntities())
             {
                 int    codePerson = db.person.Where(c => c.login_user == sLogin.Text).Select(c => c.code_person).FirstOrDefault();
                 string name       = db.person.Where(c => c.login_user == sLogin.Text).Select(c => c.name).FirstOrDefault();
                 string phone      = db.person.Where(c => c.login_user == sLogin.Text).Select(c => c.phone).FirstOrDefault();
                 int?   codeRole   = db.users.Where(c => c.login == sLogin.Text).Select(c => c.role).FirstOrDefault();
                 string role       = db.role.Where(c => c.code_role == codeRole).Select(c => c.role1).FirstOrDefault();
                 sNameView.Content  = "Имя:  " + name;
                 sPhoneView.Content = "Телефон:  " + phone;
                 sRoleView.Content  = "Роль:  " + role;
                 sStatus.Content    = "Данные о пользователе получены";
             }
         }
         else
         {
             sNameView.Content  = "";
             sPhoneView.Content = "";
             sRoleView.Content  = "";
             sStatus.Content    = "Такого пользователя не существует!";
         }
     }
     catch
     {
         sStatus.Content = "Ошибка! Возможно проблемы с сетью.";
     }
 }
예제 #3
0
 public static bool CheckPass(string userData) //ПРОВЕРИТЬ, СОВПАДАЮТ ЛИ ПАРОЛИ
 {
     using (dbUsersEntities db = new dbUsersEntities())
     {
         return(db.users.Any(x => x.pass == userData));
     }
 }
예제 #4
0
 public static bool Checklogin(string userData)  //ПРОВЕРИТЬ, СУЩЕСТВУЕТ ЛИ ПОЛЬЗОВАТЕЛЬ
 {
     using (dbUsersEntities db = new dbUsersEntities())
     {
         return(db.users.Any(x => x.login == userData));
     }
 }
예제 #5
0
 private void BtnLogin(object sender, RoutedEventArgs e) //АВТОРИЗАЦИЯ
 {
     using (dbUsersEntities db = new dbUsersEntities())
     {
         try
         {
             if (Authorization.Checklogin(sLogin.Text))       //проверка на существование пользователя
             {
                 if (Authorization.CheckPass(sPass.Password)) //проверка на совпадение пароля
                 {
                     sStatus.Content = "Авторизация успешна";
                     List <int?> userRole = (from user in db.users where user.login == sLogin.Text select user.role).ToList();
                     if (userRole[0] == 2)//если аккаунт админа, то открытие панели администратора
                     {
                         AdminPanel adminPanel = new AdminPanel();
                         adminPanel.Owner  = this;
                         adminPanel.Title += " - " + sLogin.Text;
                         adminPanel.Show();
                         adminPanel.Login.Text = sLogin.Text;
                     }
                     else if (userRole[0] == 1)//если аккаунт пользователя, то открытие панели пользователя
                     {
                         UserPanel userPanel = new UserPanel();
                         userPanel.Owner  = this;
                         userPanel.Title += " - " + sLogin.Text;
                         userPanel.Show();
                         userPanel.sLogin.Text = sLogin.Text;
                     }
                 }
                 else
                 {
                     sStatus.Content = "Пароль неверный!";
                 }
             }
             else
             {
                 sStatus.Content = "Такого пользователя не существует!";
             }
         }
         catch
         {
             sStatus.Content = "Ошибка! Возможно проблемы с сетью.";
         }
     }
 }
예제 #6
0
 public static string GetLast(string login)//ПОЛУЧИТЬ ДАННЫЕ О ПОСЛЕДНЕЙ СЕССИИ
 {
     using (dbUsersEntities db = new dbUsersEntities())
     {
         if (Authorization.Checklogin(login))
         {
             int    codePerson = db.person.Where(c => c.login_user == login).Select(c => c.code_person).FirstOrDefault();
             string time       = db.logsData.Where(c => c.code_person == codePerson).OrderByDescending(c => c.id_session).Select(c => c.time).FirstOrDefault();
             string date       = Convert.ToString(db.logsData.Where(c => c.code_person == codePerson).Select(c => c.date_session).FirstOrDefault());
             return(login + "  --  Дата: " + date + "  Время сессии: " + time);
         }
         else
         {
             AdminPanel adminPanel = new AdminPanel();
             adminPanel.sStatus.Content = "Такого пользователя не существует";
             return("");
         }
     }
 }
예제 #7
0
        public void SaveLog(string login)//ОСТАНОВИТЬ ТАЙМЕР И ЗАПИСАТЬ В ЛОГ ИНФОРМАЦИЮ О СЕССИИ
        {
            t2 = DateTime.Now;
            TimeSpan ts   = t2 - t1;
            DateTime Date = DateTime.Now;

            using (dbUsersEntities db = new dbUsersEntities())
            {
                int      codePerson = db.person.Where(c => c.login_user == login).Select(c => c.code_person).FirstOrDefault();
                logsData log        = new logsData
                {
                    date_session = Date,
                    code_person  = codePerson,
                    time         = Convert.ToString(ts.Hours.ToString() + ":" + ts.Minutes.ToString() + ":" + ts.Seconds.ToString())
                };
                db.logsData.Add(log);
                db.SaveChanges();
            }
            timer1.Stop();
        }
예제 #8
0
        private void Change(object sender, RoutedEventArgs e)//ИЗМЕНИТЬ ДАННЫЕ ВЫБРАННОГО ПОЛЬЗОВАТЕЛЯ
        {
            try
            {
                if (Authorization.Checklogin(sLogin.Text))
                {
                    if (Authorization.ValidInput(sPass.Text, "pass"))
                    {
                        using (dbUsersEntities db = new dbUsersEntities())
                        {
                            var changedUser   = db.users.Where(c => c.login == sLogin.Text).FirstOrDefault();
                            var changedPerson = db.person.Where(c => c.login_user == sLogin.Text).FirstOrDefault();
                            changedUser.pass    = sPass.Text;
                            changedUser.role    = Convert.ToInt32(sRole.Text);
                            changedPerson.name  = sName.Text;
                            changedPerson.phone = sPhone.Text;
                            db.SaveChanges();
                        }

                        sStatus.Content = "Данные изменены";
                    }
                    else
                    {
                        sStatus.Content = "Поля заполнены неверно";
                        MessageBox.Show("Для логина и пароля используйте\nлатинские заглавные и прописные буквы и цифры,\nдля имени - только буквы");
                    }
                }
                else
                {
                    sStatus.Content = "Такого пользователя не существует";
                }
            }
            catch
            {
                sStatus.Content = "Ошибка! Возможно проблемы с сетью.";
            }
        }
예제 #9
0
 private void BtnReg(object sender, RoutedEventArgs e)//РЕГИСТРАЦИЯ
 {
     try
     {
         using (dbUsersEntities db = new dbUsersEntities())
         {
             if (Authorization.Checklogin(sLoginReg.Text)) //проверка на существование пользователя
             {
                 sStatus.Content = "Такой пользователь уже существует!";
             }
             else if (Authorization.ValidInput(sLoginReg.Text, "login") && Authorization.ValidInput(sPassReg.Password, "sPass") && Authorization.ValidInput(sNameReg.Text, "name")) //проверка введенных данных, если все верно, то создается новый пользователь.
             {
                 users user = new users {
                     login = sLoginReg.Text, pass = sPassReg.Password, role = 1
                 };                                                                                     //создаем объект user
                 person person1 = new person {
                     login_user = sLoginReg.Text, name = sNameReg.Text, phone = sPhoneReg.Text
                 };
                 db.users.Add(user); //добавление объекта в бд
                 db.person.Add(person1);
                 db.SaveChanges();   //сохранение данных
                 sStatus.Content = "Регистрация успешна.";
                 CancelReg();
             }
             else
             {
                 sStatus.Content = "Поля заполнены неверно";
                 MessageBox.Show("Для логина и пароля используйте\nлатинские заглавные и прописные буквы и цифры,\nдля имени - только буквы");
             }
         }
     }
     catch
     {
         sStatus.Content = "Ошибка! Возможно проблемы с сетью.";
     }
 }