private ControlInfo BuildStages(TblCurriculums curriculum, TreeNode node, DateTime?date) { IList <TblStages> stages = StudentRecordFinder.GetStagesForCurriculum(curriculum); ControlInfo controlInfo = new ControlInfo(); foreach (TblStages stage in stages) { var child = new IdendtityNode(stage); if (StudentPermissionsHelper.IsDateAllowed(date, _userId, stage.ID, NodeType.Stage, GetOperationType)) { controlInfo = BuildThemes(stage, child); if (controlInfo.IsControlStartsNow) { controlInfo.AddCurriculumnToInfo(curriculum); return(controlInfo); } if (child.ChildNodes.Count != 0) { node.ChildNodes.Add(child); } } } return(controlInfo); }
private void CurriculumTree_SelectedNodeChanged(object sender, EventArgs e) { IdendtityNode selectedNode = CurriculumTree.SelectedNode as IdendtityNode; string encodedData = selectedNode.ValuePath + " " + GroupID.ToString() + " "; switch (selectedNode.Type) { case NodeType.Curriculum: { TimeLineData.Value = encodedData + selectedNode.ID + " " + curriculumChar; break; } case NodeType.Stage: { TimeLineData.Value = encodedData + selectedNode.ID + " " + stageChar; break; } case NodeType.Theme: { selectedNode.Parent.Select(); CurriculumTree_SelectedNodeChanged(CurriculumTree, EventArgs.Empty); break; } } }
private ControlInfo BuildTree(DateTime?date) { CurriculumnTreeView.Nodes.Clear(); var userCurriculums = StudentRecordFinder.GetCurriculumnsForUser(_userId); var controlInfo = new ControlInfo(); foreach (TblCurriculums curriculum in userCurriculums) { var node = new IdendtityNode(curriculum); if (StudentPermissionsHelper.IsDateAllowed(date, _userId, node.ID, node.Type, GetOperationType)) { controlInfo = BuildStages(curriculum, node, date); if (controlInfo != null && controlInfo.IsControlStartsNow) { return(controlInfo); } if (node.ChildNodes.Count != 0) { CurriculumnTreeView.Nodes.Add(node); } } } CurriculumnTreeView.ExpandAll(); return(controlInfo); }
private void CurriculumTree_SelectedNodeChanged(object sender, EventArgs e) { IdendtityNode selectedNode = CurriculumTree.SelectedNode as IdendtityNode; DeleteButtonEnabled.Value = true; switch (selectedNode.Type) { case NodeType.Curriculum: { AddStageButtonEnabled.Value = true; ModifyButtonEnabled.Value = true; AddThemeButtonEnabled.Value = false; break; } case NodeType.Stage: { AddStageButtonEnabled.Value = false; ModifyButtonEnabled.Value = true; AddThemeButtonEnabled.Value = true; break; } case NodeType.Theme: { AddStageButtonEnabled.Value = false; ModifyButtonEnabled.Value = false; AddThemeButtonEnabled.Value = false; break; } } }
public void AddThemeButton_Click() { if (CourseTree.CheckedNodes.Count == 0) { Message.Value = noThemesSelected; return; } IdendtityNode stageNode = CurriculumTree.SelectedNode as IdendtityNode; Message.Value = alreadyHaveTheme.Replace("{0}", stageNode.Text); bool alreadyHaveSomeTheme = false; for (int i = 0; i < CourseTree.CheckedNodes.Count; i++) { IdendtityNode orgNode = CourseTree.CheckedNodes[i] as IdendtityNode; if (TeacherHelper.StageContainsTheme(stageNode.ID, orgNode.ID)) { Message.Value += orgNode.Text + ", "; alreadyHaveSomeTheme = true; } else { TblOrganizations org = ServerModel.DB.Load <TblOrganizations>(orgNode.ID); TblThemes t = new TblThemes { Name = org.Title, CourseRef = org.CourseRef, OrganizationRef = org.ID, StageRef = stageNode.ID }; ServerModel.DB.Insert(t); /*ServerModel.DB.Link( * ServerModel.DB.Load<TblStages>(stageNode.ID), * ServerModel.DB.Load<TblThemes>(t.ID));*/ stageNode.ChildNodes.Add(new IdendtityNode(ServerModel.DB.Load <TblThemes>(t.ID))); } CourseTree.CheckedNodes[i].Checked = false; i--; } if (alreadyHaveSomeTheme) { Message.Value = Message.Value.Remove(Message.Value.Length - 2) + "."; } else { Message.Value = string.Empty; } }
public void DeleteButton_Click() { IdendtityNode courseNode = CourseTree.SelectedNode as IdendtityNode; Redirect(ServerModel.Forms.BuildRedirectUrl <CourseDeleteConfirmationController>( new CourseDeleteConfirmationController { CourseID = courseNode.ID, BackUrl = RawUrl })); }
public void AddStageButton_Click() { //adding new stage IdendtityNode curriculumNode = CurriculumTree.SelectedNode as IdendtityNode; //Create new stage TblStages stage = new TblStages(); stage.Name = ObjectName.Value; stage.Description = ObjectDescription.Value; stage.CurriculumRef = curriculumNode.ID; ServerModel.DB.Insert <TblStages>(stage); //Update curriculum tree curriculumNode.ChildNodes.Add(new IdendtityNode(stage)); }
private void BuildTreeForControl(ControlInfo info) { CurriculumnTreeView.Nodes.Clear(); var themeNode = new IdendtityNode(info.Theme); var stageNode = new IdendtityNode(info.Stage); stageNode.ChildNodes.Add(themeNode); var currNode = new IdendtityNode(info.Curriculumn); currNode.ChildNodes.Add(stageNode); CurriculumnTreeView.Nodes.Add(currNode); CurriculumnTreeView.ExpandAll(); }
public void AddThemeButton_Click() { if (CourseTree.CheckedNodes.Count == 0) { Message.Value = noThemesSelected; return; } IdendtityNode stageNode = CurriculumTree.SelectedNode as IdendtityNode; Message.Value = alreadyHaveTheme.Replace("{0}", stageNode.Text); bool alreadyHaveSomeTheme = false; for (int i = 0; i < CourseTree.CheckedNodes.Count; i++) { IdendtityNode themeNode = CourseTree.CheckedNodes[i] as IdendtityNode; if (TeacherHelper.StageContainsTheme(stageNode.ID, themeNode.ID)) { Message.Value += themeNode.Text + ", "; alreadyHaveSomeTheme = true; } else { ServerModel.DB.Link( ServerModel.DB.Load <TblStages>(stageNode.ID), ServerModel.DB.Load <TblThemes>(themeNode.ID)); stageNode.ChildNodes.Add(new IdendtityNode(ServerModel.DB.Load <TblThemes>(themeNode.ID))); } CourseTree.CheckedNodes[i].Checked = false; i--; } if (alreadyHaveSomeTheme) { Message.Value = Message.Value.Remove(Message.Value.Length - 2) + "."; } else { Message.Value = string.Empty; } }
public void DeleteButton_Click() { IdendtityNode deletedNode = CurriculumTree.SelectedNode as IdendtityNode; int themeID = -1; int stageID = -1; int curriculumID = -1; switch (deletedNode.Type) { case NodeType.Theme: { themeID = deletedNode.ID; stageID = (deletedNode.Parent as IdendtityNode).ID; curriculumID = (deletedNode.Parent.Parent as IdendtityNode).ID; break; } case NodeType.Stage: { stageID = deletedNode.ID; curriculumID = (deletedNode.Parent as IdendtityNode).ID; break; } case NodeType.Curriculum: { curriculumID = deletedNode.ID; break; } } Redirect(ServerModel.Forms.BuildRedirectUrl <CurriculumDeleteConfirmationController>( new CurriculumDeleteConfirmationController { BackUrl = RawUrl, CurriculumID = curriculumID, StageID = stageID, ThemeID = themeID })); }
public void ModifyButton_Click() { //modifying selected node IdendtityNode modifiedNode = CurriculumTree.SelectedNode as IdendtityNode; if (modifiedNode.Type == NodeType.Stage) { TblStages stage = ServerModel.DB.Load <TblStages>(modifiedNode.ID); stage.Name = ObjectName.Value; stage.Description = ObjectDescription.Value; ServerModel.DB.Update <TblStages>(stage); } if (modifiedNode.Type == NodeType.Curriculum) { TblCurriculums curriculum = ServerModel.DB.Load <TblCurriculums>(modifiedNode.ID); curriculum.Name = ObjectName.Value; curriculum.Description = ObjectDescription.Value; ServerModel.DB.Update <TblCurriculums>(curriculum); } modifiedNode.Text = ObjectName.Value; modifiedNode.ToolTip = ObjectDescription.Value; }
private void SelectDatesForObject(IdendtityNode selectedNode) { IList <DatePeriod> datePeriods; if (selectedNode.Type == NodeType.Theme) { datePeriods = StudentPermissionsHelper.GetPermissionsDatePeriods(_userId, ((IdendtityNode)selectedNode.Parent).ID, ((IdendtityNode)selectedNode.Parent).Type, GetOperationType); } else { datePeriods = StudentPermissionsHelper.GetPermissionsDatePeriods(_userId, selectedNode.ID, selectedNode.Type, GetOperationType); } if (datePeriods.Count == 0) { SelectDates(DateTime.Today, DateTime.Today.AddYears(1)); } else { SelectDatesPeriods(datePeriods); } }