public void AddDefaults(int number)
 {
     for (int i = 0; i < number; i++)
     {
         string  firstName = $"Name{students.Count}";
         string  lastName  = $"LastName{students.Count}";
         int     group     = students.Count + 5;
         Student student   = new Student(new Person(firstName, lastName, new DateTime()), Education.Đ’achelor, group);
         student.AddExams(new Exam(firstName, students.Count + 3, new DateTime()));
         student.PropertyChanged += StudentChanged;
         students.Add(keySelector(student), student);
         StudentsChanged?.Invoke(this, new StudentsChangedEventArgs <TKey>(Name, Action.Add,
                                                                           "Add default students", keySelector(student)));
     }
 }
 public bool Remove(Student st)
 {
     try
     {
         foreach (var item in students)
         {
             if (item.Value.Equals(st))
             {
                 students[item.Key].PropertyChanged -= StudentChanged;
                 StudentsChanged?.Invoke(this, new StudentsChangedEventArgs <TKey>(Name, Action.Remove,
                                                                                   "Remove student", keySelector(students[item.Key])));
                 students.Remove(item.Key);
             }
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Example #3
0
 public void PropertyChanged(object obj, PropertyChangedEventArgs e)
 {
     StudentsChanged?.Invoke(obj, new StudentChangedEventArgs <TKey>(collectionName, Action.Property, e.PropertyName, GetKey(obj as Student)));
 }
Example #4
0
 internal void RemoveStudent(Student student)
 {
     studentManager.RemoveStudent(student);
     StudentsChanged?.Invoke(this, null);
     GetBirthdayStudent();
 }
Example #5
0
 internal void NoSaveStudent()
 {
     studentManager.LoadStudentList();
     StudentsChanged?.Invoke(this, null);
 }
Example #6
0
 internal void SaveStudent()
 {
     studentManager.SaveStudentList();
     StudentsChanged?.Invoke(this, null);
     GetBirthdayStudent();
 }
 public void StudentChanged(object sender, PropertyChangedEventArgs handlerEvent)
 {
     StudentsChanged?.Invoke(this, new StudentsChangedEventArgs <TKey>(Name, Action.Property,
                                                                       handlerEvent.PropertyName, keySelector((Student)sender)));
 }
Example #8
0
 internal void CreateStudent(Group selectedGroup)
 {
     groupManager.CreateStudent(selectedGroup);
     StudentsChanged?.Invoke(this, null);
 }
Example #9
0
 internal void RemoveStudent(Group selectedGroup, Student selectedStudent)
 {
     groupManager.Remove(selectedGroup, selectedStudent);
     StudentsChanged?.Invoke(this, null);
 }
Example #10
0
 internal void EditStudent(Group selectedGroup, Student selectedStudent)
 {
     groupManager.Edit(selectedGroup, selectedStudent);
     StudentsChanged?.Invoke(this, null);
 }