// Метод який повертає інформацію про певного адміністратора
        private void InfoAboutAdmin(string mess)
        {
            int adminId = int.Parse(mess); // отримуємо id адміністратора з повідомлення

            using (var db = new TestingSystemDBContext())
            {
                var        admin      = db.Administrators.FirstOrDefault(a => a.Id == adminId); // Отримуємо адміністратора з бази по id
                List <int> groupsId   = new List <int>();                                       // список груп, які створив цей адміністратор
                List <int> subjectsId = new List <int>();                                       // список предметів, які створив цей адміністратор
                if (admin.Groups.Count != 0)
                {
                    foreach (var item in admin.Groups)
                    {
                        groupsId.Add(item.GroupId);
                    }
                }
                if (admin.Subjects.Count != 0)
                {
                    foreach (var item in admin.Subjects)
                    {
                        groupsId.Add(item.SubjectId);
                    }
                }
                DTOAdministrator administrator = new DTOAdministrator {
                    Id = admin.Id, Name = admin.Name, Login = admin.Login, Password = admin.Password, GroupsId = groupsId, SubjectsId = subjectsId
                };                         // створення об'єкта адміністратора для надсилання
                SendObject(administrator); // надсилання об'єкта адміністратора на клієнтську частину
            }
        }
Esempio n. 2
0
 // Метод який викликає метод  який повертає інформацію про адміністратора
 private void AdminInfo()
 {
     administrator = client.GetInfoAboutAdmin();
     if (administrator != null)
     {
         name                      = administrator.Name;
         login                     = administrator.Login;
         password                  = administrator.Password;
         AdminName.Text            = name;
         AdminLogin.Text           = login;
         AdminPassword.Password    = password;
         AdminPasswordTextBox.Text = password;
     }
 }
Esempio n. 3
0
        // Метод який повертає інформацію про адміністратора
        public DTOAdministrator GetInfoAboutAdmin()
        {
            string message = "InfoAboutAdmin:";

            SendMessage(message + id); // надсилаємо повідомлення на серверну частину для того щоб отримати інформацію про адміністратора
            var obj = RecieveObject(); // приймаємо відповідь з сервера
            DTOAdministrator administrator = null;

            if (obj is DTOAdministrator)               // перевіряємо чи це справді DTOAdministrator
            {
                administrator = (DTOAdministrator)obj; // приводимо до потрібного типу
            }

            return(administrator);
        }
        // Реєстрація нового адміністратора
        private void AdminRegistration()
        {
            var obj = RecieveObject();                               // отримуємо об'єкт адміністратора з клієнтської частини

            if (obj is DTOAdministrator)                             // перевіряємо чи це справді об'єкт адміністратора
            {
                DTOAdministrator dtoAdmin = obj as DTOAdministrator; // приведення до потрібного типу
                using (var db = new TestingSystemDBContext())
                {
                    // якщо такого адміністратора ще не існує в базі то додаємо дані нового адміна в базу
                    if (db.Administrators.FirstOrDefault(a => a.Password == dtoAdmin.Password) == null)
                    {
                        if (db.Administrators.FirstOrDefault(a => a.Login == dtoAdmin.Login) == null)
                        {
                            Administrator administrator = new Administrator()
                            {
                                Name = dtoAdmin.Name, Login = dtoAdmin.Login, Password = dtoAdmin.Password
                            };
                            db.Administrators.Add(administrator);
                            db.SaveChanges();
                            SendMessage("successfully");
                        }
                        else
                        {
                            SendMessage("login already exists");
                        }
                    }
                    else
                    {
                        SendMessage("password already exists");
                    }
                }
            }
            else
            {
                SendMessage("Error object!");
            }
        }
Esempio n. 5
0
        // кнопка реєстрації, в залежності від обраного користувача відбувається реєстрація адміністратора або студента
        private void RegistrateButton_Click(object sender, RoutedEventArgs e)
        {
            string answer = null;

            if (!isAdmin)
            {
                if (NameBox.Text != "" && SurNameBox.Text != "" && LoginBox.Text != "" && PasswordBox.Password != "" && ConfirmPasswordBox.Password != "" && selectedName != null)
                {
                    if (PasswordBox.Password.Length > 4)
                    {
                        if (PasswordBox.Password == ConfirmPasswordBox.Password)
                        {
                            student = new DTOStudent {
                                Name = NameBox.Text, SurName = SurNameBox.Text, Login = LoginBox.Text, Password = PasswordBox.Password, GroupId = groups.FirstOrDefault(g => g.GroupName == selectedName).GroupId
                            };
                            answer = client.Registrate(student);
                            if (answer == "successfully")
                            {
                                client.LogOut();
                                Close();
                            }
                            else if (answer == "login already exists")
                            {
                                MessageBox.Show("Already exist user with this login!!!");
                                LoginBox.Text = "";
                            }
                            else if (answer == "password already exists")
                            {
                                MessageBox.Show("Already exist user with this password!!!");
                                PasswordBox.Password = "";
                            }
                            else
                            {
                                MessageBox.Show("Something wrong!!!");
                                client.Disconnect();
                                Close();
                            }
                        }
                        else
                        {
                            MessageBox.Show("Error in password or confirm password!!!");
                            PasswordBox.Foreground        = Brushes.Red;
                            ConfirmPasswordBox.Foreground = Brushes.Red;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Error in password or confirm password!!!");
                        PasswordBox.Foreground        = Brushes.Red;
                        ConfirmPasswordBox.Foreground = Brushes.Red;
                    }
                }
                else
                {
                    MessageBox.Show("Fill all the gaps!!!");
                }
            }
            else
            {
                if (NameBox.Text != "" && LoginBox.Text != "" && PasswordBox.Password != "" && ConfirmPasswordBox.Password != "")
                {
                    if (PasswordBox.Password.Length > 4)
                    {
                        if (PasswordBox.Password == ConfirmPasswordBox.Password)
                        {
                            admin = new DTOAdministrator {
                                Name = NameBox.Text, Login = LoginBox.Text, Password = PasswordBox.Password
                            };
                            answer = client.Registrate(admin);
                        }
                        else
                        {
                            MessageBox.Show("Error in password or confirm password!!!");
                            PasswordBox.Foreground        = Brushes.Red;
                            ConfirmPasswordBox.Foreground = Brushes.Red;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Error in password or confirm password!!!");
                        PasswordBox.Foreground        = Brushes.Red;
                        ConfirmPasswordBox.Foreground = Brushes.Red;
                    }
                }
                else
                {
                    MessageBox.Show("Fill all the gaps!!!");
                }
            }
        }