示例#1
0
 private void DeleteStudentButton_Click(object sender, RoutedEventArgs e)
 {
     if (studentsList.SelectedItem != null)
     {
         DTOStudent   student = (DTOStudent)studentsList.SelectedItem;
         ComboBoxItem gnItem  = new ComboBoxItem()
         {
             Content = GroupsComboBox.Text
         };;
         string answer = client.DeleteStudentFromGroup(student.StudentId);
         if (answer == "successfully")
         {
             AddItemsToComboBox();
             DTOGroup          group    = groups.FirstOrDefault(g => g.GroupName == gnItem.Content.ToString());
             List <DTOStudent> students = client.GetGroupStudents(group.StudentsId.ToList <int>());
             studentsList.ItemsSource = students;
         }
         else
         {
             MessageBox.Show("Something wrong!");
         }
     }
     else
     {
         MessageBox.Show("Pleaіe select student!");
     }
 }
示例#2
0
 public AdminChangeStudent(ClientObject cl, Window _mw, Frame _mn, DTOStudent _student)
 {
     InitializeComponent();
     client  = cl;
     mw      = _mw;
     main    = _mn;
     student = _student;
     ChangeTextBox();
 }
示例#3
0
 // Метод який викликає метод  який повертає інформацію про адміністратора
 private void StudentInfo()
 {
     student = client.GetInfoAboutStudent();
     if (student != null)
     {
         StudentName.Text     = student.Name;
         StudentSurName.Text  = student.SurName;
         StudentLogin.Text    = student.Login;
         StudentPassword.Text = student.Password;
     }
 }
示例#4
0
        public void SuaSinhVien(DTOStudent SV)
        {
            OpenConnect();
            string     edit = "update [QLDSV].[QLDSV].[Student] set HoSV=@FirstName, TenSV=@LastName where MaSV=@CodeStudent";
            SqlCommand cmd  = new SqlCommand(edit, conn);

            cmd.Parameters.Add(new SqlParameter("@FirstName", SV.HoSV));
            cmd.Parameters.Add(new SqlParameter("@LastName", SV.TenSV));
            cmd.Parameters.Add(new SqlParameter("@CodeStudent", SV.MaSV));
            cmd.ExecuteNonQuery();
            CloseConnect();
        }
示例#5
0
        public string EditStudent(DTOStudent student)
        {
            string message = "EditStudent:";

            SendMessage(message);
            Thread.Sleep(700);
            SendObject(student);
            Thread.Sleep(700);
            string answer = RecieveMessages();

            return(answer);
        }
示例#6
0
        public void ThemSinhVien(DTOStudent SV)
        {
            OpenConnect();
            string     insert = "insert into [QLDSV].[QLDSV].[Student] values (@CodeStudent, @FirstName, @LastName, @CodeClass)";
            SqlCommand cmd    = new SqlCommand(insert, conn);

            cmd.Parameters.Add(new SqlParameter("@CodeStudent", SV.MaSV));
            cmd.Parameters.Add(new SqlParameter("@FirstName", SV.HoSV));
            cmd.Parameters.Add(new SqlParameter("@LastName", SV.TenSV));
            cmd.Parameters.Add(new SqlParameter("@CodeClass", SV.MaLop));
            cmd.ExecuteNonQuery();
            CloseConnect();
        }
示例#7
0
        // Метод який повертає інформацію про студента
        public DTOStudent GetInfoAboutStudent()
        {
            string message = "InfoAboutStudent:";

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

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

            return(student);
        }
 // Метод який викликає метод  який повертає інформацію про адміністратора
 private void StudentInfo()
 {
     student = client.GetInfoAboutStudent();
     if (student != null)
     {
         //name = administrator.Name;
         //login = administrator.Login;
         //password = administrator.Password;
         StudentName.Text            = student.Name;
         StudentSurName.Text         = student.SurName;
         StudentGroup.Text           = student.GroupName;
         StudentLogin.Text           = student.Login;
         StudentPassword.Password    = student.Password;
         StudentPasswordTextBox.Text = student.Password;
     }
 }
示例#9
0
 public static Student DALStudent(DTOStudent s)
 {
     using (ModelEntities db = new ModelEntities())
     {
         return(new Student()
         {
             firstName = s.firstName,
             lastName = s.lastName,
             emergencyPhone1 = s.emergencyPhone1,
             emergencyPhone2 = s.emergencyPhone2,
             StudentId = s.StudentId,
             mail = s.mail,
             StudentInBus = db.StudentInBus.Where(st => st.studentId == s.StudentId).ToList(),
         });
     }
 }
        private void ChangeStudent_Click(object sender, RoutedEventArgs e)
        {
            var dg = sender as DataGrid;

            for (var vis = sender as Visual; vis != null; vis = VisualTreeHelper.GetParent(vis) as Visual)
            {
                if (vis is DataGridRow)
                {
                    if (((System.Windows.FrameworkElement)vis).DataContext is DTOStudent)
                    {
                        var studentId = ((DTO.DTOStudent)((System.Windows.FrameworkElement)vis).DataContext).StudentId;
                        if (studentId != -1)
                        {
                            DTOStudent st = students.FirstOrDefault(x => x.StudentId == studentId);
                            main.Content = new AdminChangeStudent(client, mw, main, st);
                        }
                    }
                }
            }
        }
        //Реєстрація нового студента
        private void StudentRegistration()
        {
            var obj = RecieveObject();                     // Отримуємо об'єкт студента з клієнтської частини

            if (obj is DTOStudent)                         // перевіряємо чи це справді об'єкт студента
            {
                DTOStudent dtoStudent = obj as DTOStudent; // приведення до потрібного типу
                using (var db = new TestingSystemDBContext())
                {
                    // якщо такого студента ще не існує в базі то додаємо дані нового адміна в базу
                    if (db.Students.FirstOrDefault(s => s.Password == dtoStudent.Password) == null)
                    {
                        if (db.Students.FirstOrDefault(s => s.Login == dtoStudent.Login) == null)
                        {
                            Group gr = db.Groups.FirstOrDefault(g => g.GroupId == dtoStudent.GroupId);

                            Student student = new Student()
                            {
                                Name = dtoStudent.Name, SurName = dtoStudent.SurName, Group = gr, Login = dtoStudent.Login, Password = dtoStudent.Password
                            };

                            db.Students.Add(student);
                            db.SaveChanges();
                            SendMessage("successfully");
                        }
                        else
                        {
                            SendMessage("login already exists");
                        }
                    }
                    else
                    {
                        SendMessage("password already exists");
                    }
                }
            }
            else
            {
                SendMessage("Error object!");
            }
        }
        // Метод який повертає інформацію про певного студента
        private void InfoAboutStudent(string mess)
        {
            int studentId = int.Parse(mess); // отримуємо id студента з повідомлення

            using (var db = new TestingSystemDBContext())
            {
                var        student        = db.Students.FirstOrDefault(s => s.StudentId == studentId); // Отримуємо студента з бази по id
                List <int> testSessionsId = new List <int>();                                          // список тестових сесій, які проходив цей студент
                if (student.TestSessions.Count != 0)
                {
                    foreach (var item in student.TestSessions)
                    {
                        testSessionsId.Add(item.TestSessionId);
                    }
                }
                DTOStudent dtoStudent = new DTOStudent {
                    StudentId = student.StudentId, Name = student.Name, SurName = student.SurName, Login = student.Login, Password = student.Password, GroupId = student.Group.GroupId, GroupName = student.Group.GroupName, TestSessionsId = testSessionsId
                };                      // створення об'єкта студента для надсилання
                SendObject(dtoStudent); // надсилання об'єкта студента на клієнтську частину
            }
        }
        // Метод який повертає студентів певної групи
        private void GetGroupStudents()
        {
            var obj = RecieveObject(); // отримуємо список  id студентів певної групи

            if (obj is List <int> )
            {
                List <DTOStudent> students   = new List <DTOStudent>(); // Список студентів
                List <int>        studentsId = (List <int>)obj;         // Приведення до потрібного типу
                using (var db = new TestingSystemDBContext())
                {
                    for (int i = 0; i < studentsId.Count(); i++)
                    {
                        int        id         = studentsId[i];
                        Student    student    = db.Students.Include(g => g.Group).FirstOrDefault(s => s.StudentId == id); // Отримуємо студента з бази по його id
                        DTOStudent dtoStudent = new DTOStudent {
                            StudentId = student.StudentId, Name = student.Name, SurName = student.SurName, Login = student.Login, Password = student.Password, GroupId = student.Group.GroupId
                        };                        // Створюємо об'єкт студента для надсилання
                        students.Add(dtoStudent); // Додаємо студента до списку
                    }
                }

                SendObject(students); // Надсилаємо список студентів на клієнтську частину
            }
        }
示例#14
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!!!");
                }
            }
        }