private void RefreshDict() { CreateDict(SelectedSubject); var marks = StationManager.DataStorage.GetMarks(CurClass, SelectedSubject, SelectedType); for (int i = 0; i < marks.Count; i++) { int t = MarksDict.FindIndex(m => m.StudentId == marks[i].StudentId); if (t != -1) { MarksDict[t] = marks[i]; } } ViewSource.View.Refresh(); OnPropertyChanged("MarksDict"); OnPropertyChanged("ViewSource"); }
private void CreateDict(string subject) { string curClassId = CurClass.ClassId; foreach (var stud in StudentsDict.Values) { Mark cur = new Mark(); cur.ClassId = curClassId; cur.MarkType = SelectedType; cur.StudentId = stud.Id; cur.StudentName = stud.StName; cur.StudentSurname = stud.Surname; cur.Subject = subject; int t = MarksDict.FindIndex(m => m.StudentId == stud.Id); if (t == -1) { MarksDict.Add(cur); } else { MarksDict[t] = cur; } } }