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 AddDisciplineFunctionTest_ShouldBeSuccess() { var discipline = new DisciplineExtendedProxy { DisciplineName = "nameOfDiscipline" }; RunServer(new AddDisciplineFunction(DatabaseAuthorizer, databaseDisciplineEditor)); SendRequest("AddDiscipline", GetDefaultParameters(), discipline.ToJson()); A.CallTo(() => databaseDisciplineEditor.Add(discipline)).MustHaveHappened(Repeated.Exactly.Once); }
public void EditDisciplineFunctionTest_ShouldBeSuccess() { var firstDiscipline = new DisciplineExtendedProxy { DisciplineName = "firstNameOfDiscipline" }; var secondDiscipline = new DisciplineExtendedProxy { DisciplineName = "secondNameOfDiscipline" }; RunServer(new EditDisciplineFunction(DatabaseAuthorizer, databaseDisciplineEditor)); SendRequest("EditDiscipline", GetDefaultParameters(), Tuple.Create(firstDiscipline, secondDiscipline).ToJson()); A.CallTo(() => databaseDisciplineEditor.Edit(firstDiscipline, secondDiscipline)).MustHaveHappened(Repeated.Exactly.Once); }
public void GetExtendedDisciplineFunctionTest_ShouldBeSuccess() { var inputBasedDiscipline = new DisciplineBasedProxy { DisciplineName = "firstDiscipline" }; var inputExtendedDiscipline = new DisciplineExtendedProxy { DisciplineName = "firstDiscipline" }; A.CallTo(() => databaseDisciplineReader.GetExtendedProxy(inputBasedDiscipline)).Returns(inputExtendedDiscipline); RunServer(new GetExtendedDisciplineFunction(DatabaseAuthorizer, databaseDisciplineReader)); var receivedDiscipline = SendRequest <DisciplineExtendedProxy>("GetExtendedDiscipline", GetDefaultParameters(), inputBasedDiscipline.ToJson()); A.CallTo(() => databaseDisciplineReader.GetExtendedProxy(inputBasedDiscipline)).MustHaveHappened(Repeated.Exactly.Once); Assert.That(receivedDiscipline, Is.EqualTo(inputExtendedDiscipline)); }
public void Add(DisciplineExtendedProxy extendedProxy) { var foundGroup = ModelDatabase.GetGroup(extendedProxy.GroupName); var newDiscipline = new Discipline { DisciplineName = extendedProxy.DisciplineName, ControlType = extendedProxy.ControlType, TotalHours = extendedProxy.TotalHours, ClassHours = extendedProxy.ClassHours, Group = foundGroup }; ModelDatabase.Disciplines.Add(newDiscipline); ModelDatabase.AssessmentByDisciplines.AddRange( foundGroup.Students.Select(student => new AssessmentByDiscipline { Student = student, Discipline = newDiscipline, Group = foundGroup, Assessment = (int)Assessment.None })); ModelDatabase.SaveChanges(); }
public void Edit(DisciplineExtendedProxy oldExtendedProxy, DisciplineExtendedProxy newExtendedProxy) { SendRequest("EditDiscipline", GetDefaultParameters(), Tuple.Create(oldExtendedProxy, newExtendedProxy).ToJson()); }
public void Add(DisciplineExtendedProxy extendedProxy) { SendRequest("AddDiscipline", GetDefaultParameters(), extendedProxy.ToJson()); }