/*----------Әрбір студентке мұғалім қаншалықты есеп қосқандығы туралы хабарламалар жиынтығын әзірлеу методы.----------*/ public void NotifyStudent(ProblemAddedEventArgs arg) { foreach (var user in Users.OfType <Student>()) { user.Notifications.Add(arg); // Пайда болған оқиғаны әрбір студенттің оқиғалар тізіміне енгізу. } }
public void AddProblem(Teacher teacher, Problem problem) { /*----------Есеп қосу логикасы жақсартылды----------*/ teacher.MyProblems.Add(problem); // current teacher есептер базасына қосу ProblemAddedEventArgs arg = new ProblemAddedEventArgs(teacher.Name, teacher.LastName, problem.Title, problem.Point, problem.Download.ToString(CultureInfo.InvariantCulture), problem.Deadline.ToString(CultureInfo.InvariantCulture)); //Хабарлау оқиғасы үшін өңдеуші қосыңыз ProblemAddedNotify?.Invoke(arg); // оқиғаны шақырмас бұрын оны null-ға тексеріп барып шақырамыз. AppContext.Update(teacher); //User->teacher базасын жаңартамыз. AppContext.Update(problem); // Есептер базасын жаңартамыз. // AppContext.SaveChanges(); }