void RemoveSelectedSubject()
 {
     if (selectedTaughtSubject != null)
     {
         TaughtSubjects.Remove((
                                   from subject in TaughtSubjects
                                   where selectedTaughtSubject.Name == subject.Name
                                   select subject).FirstOrDefault());
         OnPropertyChanged("StudySubjects");
     }
 }
 void AddSelectedSubject()
 {
     foreach (Subject subject in TaughtSubjects)
     {
         if (selectedSubject.Name == subject.Name)
         {
             return;
         }
     }
     TaughtSubjects.Add(selectedSubject);
     OnPropertyChanged("TaughtSubjects");
 }
        void AddTeacher()
        {
            Teacher teacher = new Teacher(
                Name,
                CivilNum,
                PhoneNum,
                Email,
                TeacherFaculty,
                TaughtSubjects.ToList());

            TeacherValidation.ActionOnError act = Error;
            TeacherValidation tv = new TeacherValidation(act);

            if (tv.isTeacherValid(teacher))
            {
                users.Add(teacher);
                ErrMsg = "Teacher " + teacher.Name + " added!";
                Factory.GetTeachers().InsertOne(teacher);
            }
        }