public void SetUp() { this.pattern = new SequencingPattern(); this.organization = new OrganizationType(); this.chapter = ItemType.CreateNewItem("Chapter", "chapter_base", null, PageType.Chapter); this.controlChapter = ItemType.CreateNewItem("Control Chapter", "control chapter", null, PageType.ControlChapter); }
public JsonResult ApplyPattern(int id, SequencingPattern pattern, int data) { var node = _Storage.GetNode(id); var xml = new XmlSerializer(typeof(Sequencing)); var xelement = id == 0 ? _CurrentCourse.Sequencing : node.Sequencing; var sequencing = xelement == null ? new Sequencing() : (Sequencing)xml.DeserializeXElement(xelement); switch (pattern) { case SequencingPattern.ControlChapterSequencingPattern: sequencing = SequencingPatternManager.ApplyControlChapterSequencing(sequencing); break; case SequencingPattern.RandomSetSequencingPattern: sequencing = SequencingPatternManager.ApplyRandomSetSequencingPattern(sequencing, data); break; case SequencingPattern.OrganizationDefaultSequencingPattern: sequencing = SequencingPatternManager.ApplyDefaultChapterSequencing(sequencing); break; } if (id == 0) { _CurrentCourse.Sequencing = xml.SerializeToXElemet(sequencing); _Storage.UpdateCourse(_CurrentCourse.Id, _CurrentCourse); } else { node.Sequencing = xml.SerializeToXElemet(sequencing); _Storage.UpdateNode(id, node); } return Json(new { status = true }); }
public void AreAllChaptersTest() { Assert.IsTrue(SequencingPattern.AreAllChapters(this.organization)); this.organization.SubItems.Add(chapter); this.organization.SubItems.Add(controlChapter); Assert.IsTrue(SequencingPattern.AreAllChapters(organization)); ItemType theory = ItemType.CreateNewItem("theory1", "theory_id", null, PageType.Theory); this.organization.SubItems.Add(theory); Assert.IsFalse(SequencingPattern.AreAllChapters(organization)); }
public void AreAllPagesTest() { Assert.IsTrue(SequencingPattern.AreAllPages(this.chapter)); ItemType theory = ItemType.CreateNewItem("theory1", "theory_id", null, PageType.Theory); ItemType summary = ItemType.CreateNewItem("summary2", "theory2_id", null, PageType.Summary); this.chapter.SubItems.Add(theory); this.chapter.SubItems.Add(summary); Assert.IsTrue(SequencingPattern.AreAllPages(this.chapter)); this.chapter.SubItems.Add(this.controlChapter); Assert.IsFalse(SequencingPattern.AreAllPages(this.chapter)); }
public JsonResult ApplyPattern(int id, SequencingPattern pattern, int data) { var node = this.storage.GetNode(id); var xml = new XmlSerializer(typeof(Sequencing)); var xelement = id == 0 ? this.currentCourse.Sequencing : node.Sequencing; var sequencing = xelement == null ? new Sequencing() : (Sequencing)xml.DeserializeXElement(xelement); switch (pattern) { case SequencingPattern.ControlChapterSequencingPattern: sequencing = SequencingPatternManager.ApplyControlChapterSequencing(sequencing); break; case SequencingPattern.RandomSetSequencingPattern: sequencing = SequencingPatternManager.ApplyRandomSetSequencingPattern(sequencing, data); break; case SequencingPattern.OrganizationDefaultSequencingPattern: sequencing = SequencingPatternManager.ApplyDefaultChapterSequencing(sequencing); break; } if (id == 0) { this.currentCourse.Sequencing = xml.SerializeToXElemet(sequencing); this.storage.UpdateCourse(this.currentCourse.Id, this.currentCourse); // logic to update all nodes sequencing var courseNodes = this.storage.GetAllNodes(this.currentCourse.Id); foreach (var courseNode in courseNodes) { courseNode.Sequencing = xml.SerializeToXElemet(sequencing); this.storage.UpdateNode(courseNode.Id, courseNode); } } else { node.Sequencing = xml.SerializeToXElemet(sequencing); this.storage.UpdateNode(id, node); } return(Json(new { status = true })); }
public void ApplyPatternTest([Values(SequencingPattern.ControlChapterSequencingPattern, SequencingPattern.RandomSetSequencingPattern, SequencingPattern.OrganizationDefaultSequencingPattern)] SequencingPattern pattern) { try { // create new node with name "SomeNode", id=ID, courseId=1, and add it to storage this.createNode(); // get node with id = ID var node = this.Storage.GetNode(ID); // create new xml serializer var xml = new XmlSerializer(typeof(Sequencing)); // get Sequencing from node with id = ID var xelement = this.Storage.GetNode(ID).Sequencing; // deserialize sequencing from xelement var sequencing = xelement == null ? new Sequencing() : (Sequencing)xml.DeserializeXElement(xelement); // for different patterns type apply different patterns switch (pattern) { case SequencingPattern.ControlChapterSequencingPattern: sequencing = SequencingPatternManager.ApplyControlChapterSequencing(sequencing); break; case SequencingPattern.RandomSetSequencingPattern: sequencing = SequencingPatternManager.ApplyRandomSetSequencingPattern(sequencing, 1); break; case SequencingPattern.OrganizationDefaultSequencingPattern: sequencing = SequencingPatternManager.ApplyDefaultChapterSequencing(sequencing); break; } // serialize sequencing node.Sequencing = xml.SerializeToXElemet(sequencing); // try update node this.Storage.UpdateNode(ID, node); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public JsonResult ApplyPattern(int id, SequencingPattern pattern, int data) { var node = _Storage.GetNode(id); var xml = new XmlSerializer(typeof(Sequencing)); var xelement = id == 0 ? _CurrentCourse.Sequencing : node.Sequencing; var sequencing = xelement == null ? new Sequencing() : (Sequencing)xml.Deserialize(new StringReader(xelement)); switch (pattern) { case SequencingPattern.ControlChapterSequencingPattern: sequencing = SequencingPatternManager.ApplyControlChapterSequencing(sequencing); break; case SequencingPattern.RandomSetSequencingPattern: sequencing = SequencingPatternManager.ApplyRandomSetSequencingPattern(sequencing, data); break; case SequencingPattern.OrganizationDefaultSequencingPattern: sequencing = SequencingPatternManager.ApplyDefaultChapterSequencing(sequencing); break; } var sw = new StringWriter(); if (id == 0) { xml.Serialize(sw, sequencing); _CurrentCourse.Sequencing = sw.ToString(); _Storage.UpdateCourse(_CurrentCourse.Id, _CurrentCourse); } else { xml.Serialize(sw, sequencing); node.Sequencing = sw.ToString(); _Storage.UpdateNode(id, node); } return(Json(new { status = true })); }
public void SetUp() { this.pattern = new SequencingPattern(); this.organization = new OrganizationType(); this.chapter = ItemType.CreateNewItem("Chapter", "chapter_base", null, PageType.Chapter); this.controlChapter = ItemType.CreateNewItem("Control Chapter", "control chapter", null, PageType.ControlChapter); }
public JsonResult ApplyPattern(int id, SequencingPattern pattern, int data) { var node = this.storage.GetNode(id); var xml = new XmlSerializer(typeof(Sequencing)); var xelement = id == 0 ? this.currentCourse.Sequencing : node.Sequencing; var sequencing = xelement == null ? new Sequencing() : (Sequencing)xml.DeserializeXElement(xelement); switch (pattern) { case SequencingPattern.ControlChapterSequencingPattern: sequencing = SequencingPatternManager.ApplyControlChapterSequencing(sequencing); break; case SequencingPattern.RandomSetSequencingPattern: sequencing = SequencingPatternManager.ApplyRandomSetSequencingPattern(sequencing, data); break; case SequencingPattern.OrganizationDefaultSequencingPattern: sequencing = SequencingPatternManager.ApplyDefaultChapterSequencing(sequencing); break; } if (id == 0) { this.currentCourse.Sequencing = xml.SerializeToXElemet(sequencing); this.storage.UpdateCourse(this.currentCourse.Id, this.currentCourse); // logic to update all nodes sequencing var courseNodes = this.storage.GetAllNodes(this.currentCourse.Id); foreach (var courseNode in courseNodes) { courseNode.Sequencing = xml.SerializeToXElemet(sequencing); this.storage.UpdateNode(courseNode.Id, courseNode); } } else { node.Sequencing = xml.SerializeToXElemet(sequencing); this.storage.UpdateNode(id, node); } return Json(new { status = true }); }