Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
                }
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
            }
        }