public void Edit(DisciplineExtendedProxy oldExtendedProxy, DisciplineExtendedProxy newExtendedProxy) { var foundDiscipline = ModelDatabase.GetDiscipline(oldExtendedProxy); var newGroupDiscipline = ModelDatabase.GetGroup(newExtendedProxy.GroupName); foundDiscipline.DisciplineName = newExtendedProxy.DisciplineName; foundDiscipline.TotalHours = newExtendedProxy.TotalHours; foundDiscipline.ClassHours = newExtendedProxy.ClassHours; if (foundDiscipline.ControlType != newExtendedProxy.ControlType) { foreach (var assessmentByDiscipline in ModelDatabase.AssessmentByDisciplines.Where(a => a.DisciplineId == foundDiscipline.DisciplineId)) { assessmentByDiscipline.Assessment = (int)Assessment.None; } foundDiscipline.ControlType = newExtendedProxy.ControlType; } if (foundDiscipline.GroupId != newGroupDiscipline.GroupId) { DeleteAssessmentByDisciplines(assessmentByDiscipline => assessmentByDiscipline.DisciplineId == foundDiscipline.DisciplineId); ModelDatabase.AssessmentByDisciplines.AddRange( newGroupDiscipline.Students.Select(student => new AssessmentByDiscipline { Student = student, Discipline = foundDiscipline, Group = newGroupDiscipline, Assessment = (int)Assessment.None })); foundDiscipline.Group = newGroupDiscipline; } ModelDatabase.SaveChanges(); }
public void Delete(DisciplineBasedProxy basedProxy) { DeleteDiscipline(ModelDatabase.GetDiscipline(basedProxy)); ModelDatabase.SaveChanges(); }
public DisciplineExtendedProxy GetExtendedProxy(DisciplineBasedProxy basedProxy) { return(modelDatabase.GetDiscipline(basedProxy).ToExtendedProxy()); }