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 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); }
public static bool IsViewingAllowed(int stageId) { if (ServerModel.User.Current != null) { int userId = ServerModel.User.Current.ID; return(StudentPermissionsHelper.IsDateAllowed(DateTime.Now, userId, stageId, NodeType.Stage, OperationType.View)); } return(false); }
public static bool IsSubmitEnabled(int stageId, int pageId) { if (ServerModel.User.Current != null) { int userId = ServerModel.User.Current.ID; return /*UserSubmitCountChecker.IsUserCanSubmitOnPage(userId, pageId) * &&*/(StudentPermissionsHelper.IsDateAllowed(DateTime.Now, userId, stageId, NodeType.Stage, OperationType.Pass)); } return(false); }
private void SetButtonVisibility() { var selectedNode = (IdendtityNode)CurriculumnTreeView.SelectedNode; if (selectedNode != null) { if (selectedNode.Type == NodeType.Curriculum || selectedNode.Type == NodeType.Stage) { OpenTestButton.Enabled = false; } else { OpenTestButton.Enabled = StudentPermissionsHelper.IsDateAllowed(DateTime.Now, _userId, ((IdendtityNode)selectedNode.Parent).ID, NodeType.Stage, OperationType.View); } } }
private ControlInfo BuildThemes(TblStages stage, TreeNode node) { var themes = StudentRecordFinder.GetThemesForStage(stage); ControlInfo controlInfo = new ControlInfo(); foreach (TblThemes theme in themes) { controlInfo = StudentPermissionsHelper.IsTimeForControl(_userId, stage, theme); if (controlInfo.IsControlStartsNow) { return(controlInfo); } if (!theme.IsControl) { node.ChildNodes.Add(new IdendtityNode(theme)); } } return(controlInfo); }
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); } }