예제 #1
0
 private void buildCurriculumTable(TblCurriculums curriculum)
 {
     foreach (TblPermissions permission in TeacherHelper.GroupPermissionsForCurriculum(group, curriculum))
     {
         Table_Operations.Rows.AddAt(Table_Operations.Rows.Count - 1, buildPermissionRow(permission));
     }
 }
예제 #2
0
 public static IList<TblPermissions> CurrentUserPermissionsForCurriculum(TblCurriculums curriculum)
 {
     return ServerModel.DB.Query<TblPermissions>(
           new AndCondtion(
              new CompareCondition<int>(
                    DataObject.Schema.CurriculumRef,
                    new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL),
              new CompareCondition<int>(
                    DataObject.Schema.OwnerUserRef,
                    new ValueCondition<int>(ServerModel.User.Current.ID), COMPARE_KIND.EQUAL)));
 }
        public override void Loaded()
        {
            base.Loaded();

            curriculum = ServerModel.DB.Load<TblCurriculums>(CurriculumID);
            group = ServerModel.DB.Load<TblGroups>(GroupID);
            Caption.Value = pageCaption;
            Description.Value = pageDescription.
                Replace("{0}", group.Name).
                Replace("{1}", curriculum.Name);
            Title.Value = Caption.Value;
            fillStatistic();
        }
        public override void Loaded()
        {
            base.Loaded();

            Caption.Value = pageCaption;
            Description.Value = pageDescription;

            curriculum = ServerModel.DB.Load<TblCurriculums>(CurriculumID);

            if (ThemeID != -1)
            {
                theme = ServerModel.DB.Load<TblThemes>(ThemeID);
                stage = ServerModel.DB.Load<TblStages>(StageID);
                Description.Value = Description.Value.
                    Replace("{1}", themeStr).
                    Replace("{2}", theme.Name).
                    Replace("{3}", usedInCurriculum.Replace("{0}", curriculum.Name));
                Caption.Value = Caption.Value.
                    Replace("{0}", themeStr).
                    Replace("{1}", theme.Name);
            }
            else
            {
                if (StageID != -1)
                {
                    stage = ServerModel.DB.Load<TblStages>(StageID);
                    Description.Value = Description.Value.
                        Replace("{1}", stageStr).
                        Replace("{2}", stage.Name).
                        Replace("{3}", usedInCurriculum.Replace("{0}", curriculum.Name));
                    Caption.Value = Caption.Value.
                        Replace("{0}", stageStr).
                        Replace("{1}", stage.Name);
                }
                else
                {
                    Description.Value = Description.Value.
                        Replace("{1}", curriculumStr).
                        Replace("{2}", curriculum.Name).
                        Replace("{3}", string.Empty);
                    Caption.Value = Caption.Value.
                        Replace("{0}", curriculumStr).
                        Replace("{1}", curriculum.Name);
                }
            }

            Title.Value = Caption.Value;
        }
        public override void Loaded()
        {
            base.Loaded();

            group = ServerModel.DB.Load<TblGroups>(GroupID);
            curriculum = ServerModel.DB.Load<TblCurriculums>(CurriculumID);

            Caption.Value = pageCaption.
                                Replace("{0}", group.Name).
                                Replace("{1}", curriculum.Name);

            Description.Value = pageDescription.
                                    Replace("{0}", group.Name).
                                    Replace("{1}", curriculum.Name);
            Title.Value = Caption.Value;


            CurriculumTree.SelectedNodeChanged += new EventHandler(CurriculumTree_SelectedNodeChanged);

            if (!IsPostBack)
            {
                CurriculumTree.DataSource = GetCurriculum();
                CurriculumTree.ExpandAll();
                if (SelectedNode != null)
                {
                    CurriculumTree.FindNode(SelectedNode).Select();
                }
                else
                {
                    CurriculumTree.Nodes[0].Select();
                }
            }
            else
            {
                RedirectToController<CurriculumTimelineController>(new CurriculumTimelineController()
                {
                    BackUrl = RawUrl,
                    GroupID = group.ID,
                    CurriculumID = curriculum.ID,
                    SelectedNode = CurriculumTree.SelectedNode.ValuePath
                });
            }
            CurriculumTree_SelectedNodeChanged(CurriculumTree, EventArgs.Empty);
        }
예제 #6
0
        public override void Loaded()
        {
            base.Loaded();
            teacher = ServerModel.DB.Load<TblUsers>(TeacherId);
            if (CourseId != -1)
            {
                course = ServerModel.DB.Load<TblCourses>(CourseId);
                Caption.Value = pageCaption.
                    Replace("{0}", courseStr).
                    Replace("{1}", course.Name).
                    Replace("{2}", teacher.DisplayName);
                Description.Value = pageDescription.
                    Replace("{0}", courseStr).
                    Replace("{1}", course.Name).
                    Replace("{2}", teacher.DisplayName);

                fillCourseOperationsTable();
            }
            if (CurriculumId != -1)
            {
                curriculum = ServerModel.DB.Load<TblCurriculums>(CurriculumId);
                Caption.Value = pageCaption.
                    Replace("{0}", curriculumStr).
                    Replace("{1}", curriculum.Name).
                    Replace("{2}", teacher.DisplayName);
                Description.Value = pageDescription.
                    Replace("{0}", curriculumStr).
                    Replace("{1}", curriculum.Name).
                    Replace("{2}", teacher.DisplayName);

                fillCurriculumOperationsTable();
            }

            Title.Value = Caption.Value;

        }
예제 #7
0
        public static bool AreParentAndChildByCurriculum(TblPermissions parentPermission, TblUsers child, TblCurriculums curriculum)
        {
            IList <TblPermissions> childPermissions =
                ServerModel.DB.Query <TblPermissions>(
                    new AndCondition(
                        new CompareCondition <int>(
                            DataObject.Schema.OwnerUserRef,
                            new ValueCondition <int>(child.ID), COMPARE_KIND.EQUAL),
                        new CompareCondition <int>(
                            DataObject.Schema.CurriculumRef,
                            new ValueCondition <int>(curriculum.ID), COMPARE_KIND.EQUAL)));

            foreach (TblPermissions childPermission in childPermissions)
            {
                if (childPermission.ParentPermitionRef.HasValue &&
                    childPermission.ParentPermitionRef.Value == parentPermission.ID)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #8
0
 public static IList <TblPermissions> GroupPermissionsForCurriculum(TblGroups group, TblCurriculums curriculum)
 {
     return(ServerModel.DB.Query <TblPermissions>(
                new AndCondition(
                    new CompareCondition <int>(
                        DataObject.Schema.CurriculumRef,
                        new ValueCondition <int>(curriculum.ID), COMPARE_KIND.EQUAL),
                    new CompareCondition <int>(
                        DataObject.Schema.OwnerGroupRef,
                        new ValueCondition <int>(group.ID), COMPARE_KIND.EQUAL))));
 }
예제 #9
0
        public static void SignGroupForCurriculum(TblGroups group, TblCurriculums curriculum)
        {
            PermissionsManager.Grand(curriculum, FxCurriculumOperations.View
                    , null, group.ID, DateTimeInterval.Full);
            PermissionsManager.Grand(curriculum, FxCurriculumOperations.Pass
                    , null, group.ID, DateTimeInterval.Full);

            foreach (TblStages stage in TeacherHelper.StagesOfCurriculum(curriculum))
            {
                PermissionsManager.Grand(stage, FxStageOperations.View
                   , null, group.ID, DateTimeInterval.Full);
                PermissionsManager.Grand(stage, FxStageOperations.Pass
                   , null, group.ID, DateTimeInterval.Full);
            }
        }
예제 #10
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;
        }
예제 #11
0
        public void CreateCurriculumButton_Click()
        {
            if (ObjectName.Value.Equals(string.Empty))
            {
                Message.Value = noName;
                return;
            }
            //create new curriculum
            TblCurriculums curriculum = new TblCurriculums();
            curriculum.Name = ObjectName.Value;
            curriculum.Description = ObjectDescription.Value;
            curriculum.ID = ServerModel.DB.Insert<TblCurriculums>(curriculum);

            //grant permissions for this curriculum
            PermissionsManager.Grand(curriculum, FxCurriculumOperations.Use, ServerModel.User.Current.ID, null, DateTimeInterval.Full);
            PermissionsManager.Grand(curriculum, FxCurriculumOperations.Modify, ServerModel.User.Current.ID, null, DateTimeInterval.Full);

            //Update curriculum tree
            CurriculumTree.Nodes.Add(new IdendtityNode(curriculum));
        }
        public void fillStatistic()
        {
            double totalstudntresoult = 0;
            double totalstagerank = 0;
            user = ServerModel.DB.Load<TblUsers>(UserId);
            curriculum = ServerModel.DB.Load<TblCurriculums>(CurriculumID);
            foreach (TblStages stage in TeacherHelper.StagesOfCurriculum(curriculum))
            {

                foreach (TblThemes theme in TeacherHelper.ThemesOfStage(stage))
                {
                    double result = 0; Name_Stage.Add(theme.Name);
                    double totalresult = 0;
                    int learnercount = TeacherHelper.GetLastIndexOfAttempts(user.ID, theme.ID);
                    TblOrganizations organization;
                    organization = ServerModel.DB.Load<TblOrganizations>(theme.OrganizationRef);
                    foreach (TblItems items in TeacherHelper.ItemsOfOrganization(organization))
                    {
                        totalresult += Convert.ToDouble(items.Rank);
                    }

                    foreach (TblLearnerAttempts attempt in TeacherHelper.AttemptsOfTheme(theme))
                    {
                        if (attempt.ID == TeacherHelper.GetLastLearnerAttempt(user.ID, theme.ID))

                            foreach (TblLearnerSessions session in TeacherHelper.SessionsOfAttempt(attempt))
                            {
                                CmiDataModel cmiDataModel = new CmiDataModel(session.ID, user.ID, false);
                                List<TblVarsInteractions> interactionsCollection = cmiDataModel.GetCollection<TblVarsInteractions>("interactions.*.*");

                                for (int i = 0, j = 0; i < int.Parse(cmiDataModel.GetValue("interactions._count")); i++)
                                {
                                    for (; j < interactionsCollection.Count && i == interactionsCollection[j].Number; j++)
                                    {
                                        if (interactionsCollection[j].Name == "result")
                                        {
                                            TblItems itm = ServerModel.DB.Load<TblItems>(session.ItemRef);
                                            if (interactionsCollection[j].Value == "correct") result += Convert.ToDouble(itm.Rank);
                                        }
                                    }

                                }

                            }
                    }
                    totalstudntresoult += result;
                    totalstagerank += totalresult;
                    Student_Stage_Count.Add(result);
                    Total_Stage_Count.Add(totalresult);
                }
            }

            Name_Stage.Add("Total");
            Student_Stage_Count.Add(totalstudntresoult);
            Total_Stage_Count.Add(totalstagerank);


            Saveto_Excel_Click();
        }
 private void deleteCurriculum(TblCurriculums curriculum)
 {
     foreach (TblStages stage in TeacherHelper.StagesOfCurriculum(curriculum))
     {
         deleteStage(stage);
     }
     //remove permissions
     ServerModel.DB.Delete<TblPermissions>(TeacherHelper.AllPermissionsForCurriculum(curriculum));
     ServerModel.DB.Delete<TblCurriculums>(curriculum.ID);
 }
예제 #14
0
        public static Table Search_Function(Table table, string Search_Name, TblCurriculums curriculum, List<TblCurriculums> curriculums, int GroupID, string RawUrl)
        {
            Table temp = new Table();
            if (curriculum != null)
            {
                TableHeaderRow headerRow = new TableHeaderRow();
                TableHeaderCell headerCell = new TableHeaderCell();
                headerCell.Text = "Student";
                headerRow.Cells.Add(headerCell);

                foreach (TblStages stage in TeacherHelper.StagesOfCurriculum(curriculum))
                {
                    foreach (TblThemes theme in TeacherHelper.ThemesOfStage(stage))
                    {
                        headerCell = new TableHeaderCell();
                        headerCell.Text = theme.Name;
                        headerRow.Cells.Add(headerCell);
                    }
                }
                headerCell = new TableHeaderCell();
                headerCell.Text = "Total";
                headerRow.Cells.Add(headerCell);

                headerCell = new TableHeaderCell();
                headerCell.Text = "Percent";
                headerRow.Cells.Add(headerCell);

                headerCell = new TableHeaderCell();
                headerCell.Text = "ECTS";
                headerRow.Cells.Add(headerCell);

                temp.Rows.Add(headerRow);

                for (int i = 1; i < table.Rows.Count; i++)
                {

                    string[] temp_array = table.Rows[i].Cells[0].Text.ToString().Split(' ');

                    if (temp_array.Length == 2)
                    {
                        if (Find_Student(Search_Name, temp_array[0], temp_array[1]) == true)
                        {

                            temp.Rows.Add(table.Rows[i]);
                            i--;
                        }

                    }
                    else
                    {

                        if (Find_Student(Search_Name, temp_array[0], "") == true)
                        {

                            temp.Rows.Add(table.Rows[i]);
                        }
                    }


                }
            }
            else
            {
                TableHeaderRow headerRow = new TableHeaderRow();

                TableHeaderCell headerCell = new TableHeaderCell();
                headerCell.Text = "Student";
                headerRow.Cells.Add(headerCell);


                foreach (TblCurriculums curr in curriculums)
                {
                    headerCell = new TableHeaderCell { HorizontalAlign = HorizontalAlign.Center };
                    headerCell.Controls.Add(new HyperLink
                    {
                        Text = curr.Name,
                        NavigateUrl = ServerModel.Forms.BuildRedirectUrl(new IUDICO.DataModel.Controllers.StatisticShowController
                        {
                            GroupID = GroupID,
                            CurriculumID = curr.ID,
                            BackUrl = RawUrl
                        })
                    });
                    headerRow.Cells.Add(headerCell);
                }

                headerCell = new TableHeaderCell();
                headerCell.Text = "Total";
                headerRow.Cells.Add(headerCell);

                temp.Rows.Add(headerRow);
                for (int i = 1; i < table.Rows.Count; i++)
                {

                    string[] temp_array = table.Rows[i].Cells[0].Text.ToString().Split(' ');

                    if (temp_array.Length == 2)
                    {
                        if (Find_Student(Search_Name, temp_array[0], temp_array[1]) == true)
                        {

                            temp.Rows.Add(table.Rows[i]);
                            i--;
                        }

                    }
                    else
                    {

                        if (Find_Student(Search_Name, temp_array[0], "") == true)
                        {

                            temp.Rows.Add(table.Rows[i]);
                        }
                    }


                }
            }

            return temp;

        }
예제 #15
0
 public static IList<TblStages> StagesOfCurriculum(TblCurriculums curriculum)
 {
     return ServerModel.DB.Query<TblStages>(new CompareCondition<int>(
                       DataObject.Schema.CurriculumRef,
                       new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL));
 }
예제 #16
0
        public static Table Sort(Table table, TblCurriculums curriculm)
        {
            Table temp = new Table();
            /*
            TableHeaderRow headerRow = new TableHeaderRow();
            TableHeaderCell headerCell = new TableHeaderCell();
            headerCell.Text = "Student";
            headerRow.Cells.Add(headerCell);

            foreach (TblStages stage in TeacherHelper.StagesOfCurriculum(curriculm))
            {
                foreach (TblThemes theme in TeacherHelper.ThemesOfStage(stage))
                {
                    headerCell = new TableHeaderCell();
                    headerCell.Text = theme.Name;
                    headerRow.Cells.Add(headerCell);
                }
            }
            headerCell = new TableHeaderCell();
            headerCell.Text = "Total";
            headerRow.Cells.Add(headerCell);

            headerCell = new TableHeaderCell();
            headerCell.Text = "Percent";
            headerRow.Cells.Add(headerCell);

            headerCell = new TableHeaderCell();
            headerCell.Text = "ECTS";
            headerRow.Cells.Add(headerCell);

            temp.Rows.Add(headerRow);
            */
            for (int i = 1; i < table.Rows.Count; i++)
            {
                int max = 0;
                int row = 0;
                for (int j = 1; j < table.Rows.Count; j++)
                {
                    if (Int32.Parse(table.Rows[j].Cells[table.Rows[j].Cells.Count - 2].Text) > max)
                    {
                        max = Int32.Parse(table.Rows[j].Cells[table.Rows[j].Cells.Count - 2].Text);
                        row = j;

                    }
                }
                temp.Rows.Add(table.Rows[row]);
                table.Rows.RemoveAt(row);
                i--;

            }
            return temp;
        }
예제 #17
0
        public static TblPermissions GetPermissionForCurriculum(TblPermissions parentPermission, TblUsers user, TblCurriculums curriculum, FxCurriculumOperations operation)
        {
            IList<TblPermissions> permissions = ServerModel.DB.Query<TblPermissions>(
                           new AndCondition(
                              new CompareCondition<int>(
                                 DataObject.Schema.OwnerUserRef,
                                 new ValueCondition<int>(user.ID), COMPARE_KIND.EQUAL),
                              new CompareCondition<int>(
                                 DataObject.Schema.CurriculumOperationRef,
                                 new ValueCondition<int>(operation.ID), COMPARE_KIND.EQUAL),
                              new CompareCondition<int>(
                                 DataObject.Schema.CurriculumRef,
                                 new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL),
                              new CompareCondition<int>(
                                 DataObject.Schema.ParentPermitionRef,
                                 new ValueCondition<int>(parentPermission.ID), COMPARE_KIND.EQUAL)));

            if (permissions.Count == 0)
            {
                return null;
            }

            return permissions[0];
        }
예제 #18
0
        public static bool AreParentAndChildByCurriculum(TblPermissions parentPermission, TblUsers child, TblCurriculums curriculum)
        {
            IList<TblPermissions> childPermissions =
                ServerModel.DB.Query<TblPermissions>(
                      new AndCondition(
                         new CompareCondition<int>(
                            DataObject.Schema.OwnerUserRef,
                            new ValueCondition<int>(child.ID), COMPARE_KIND.EQUAL),
                         new CompareCondition<int>(
                            DataObject.Schema.CurriculumRef,
                            new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL)));

            foreach (TblPermissions childPermission in childPermissions)
            {
                if (childPermission.ParentPermitionRef.HasValue
                    && childPermission.ParentPermitionRef.Value == parentPermission.ID)
                {
                    return true;
                }
            }

            return false;
        }
예제 #19
0
        public static TblPermissions GetPermissionForCurriculum(TblPermissions parentPermission, TblUsers user, TblCurriculums curriculum, FxCurriculumOperations operation)
        {
            IList <TblPermissions> permissions = ServerModel.DB.Query <TblPermissions>(
                new AndCondition(
                    new CompareCondition <int>(
                        DataObject.Schema.OwnerUserRef,
                        new ValueCondition <int>(user.ID), COMPARE_KIND.EQUAL),
                    new CompareCondition <int>(
                        DataObject.Schema.CurriculumOperationRef,
                        new ValueCondition <int>(operation.ID), COMPARE_KIND.EQUAL),
                    new CompareCondition <int>(
                        DataObject.Schema.CurriculumRef,
                        new ValueCondition <int>(curriculum.ID), COMPARE_KIND.EQUAL),
                    new CompareCondition <int>(
                        DataObject.Schema.ParentPermitionRef,
                        new ValueCondition <int>(parentPermission.ID), COMPARE_KIND.EQUAL)));

            if (permissions.Count == 0)
            {
                return(null);
            }

            return(permissions[0]);
        }
예제 #20
0
        public static IList<TblGroups> GetGroupsForCurriculum(TblCurriculums curriculum)
        {
            //IList<int> iDs = PermissionsManager.GetGroupsForObject(SECURED_OBJECT_TYPE.CURRICULUM, curriculum.ID, null, null);
            //return ServerModel.DB.Load<TblGroups>(iDs);

            return ServerModel.DB.Query<TblGroups>(
                new InCondition<int>(DataObject.Schema.ID,
                   new SubSelectCondition<TblPermissions>("OwnerGroupRef",
                      new AndCondition(
                         new CompareCondition<int>(
                            DataObject.Schema.CurriculumRef,
                            new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL),
                         new CompareCondition<int>(
                            DataObject.Schema.SysState,
                            new ValueCondition<int>(0), COMPARE_KIND.EQUAL)))));
        }
예제 #21
0
        public static IList<TblUsers> GetCurriculumOwners(TblCurriculums curriculum)
        {
            IList<int> iDs = PermissionsManager.GetUsersForObject(SECURED_OBJECT_TYPE.CURRICULUM, curriculum.ID, null, null);
            return ServerModel.DB.Load<TblUsers>(iDs);
/*
            return ServerModel.DB.Query<TblUsers>(
                new InCondition<int>(DataObject.Schema.ID,
                    new SubSelectCondition<TblPermissions>("OwnerUserRef",
                      new AndCondtion(
                         new CompareCondition<int>(
                            DataObject.Schema.CurriculumRef,
                            new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL),
                         new CompareCondition<int>(
                            DataObject.Schema.CurriculumOperationRef,
                            new ValueCondition<int>(FxCurriculumOperations.Modify.ID), COMPARE_KIND.EQUAL),
                         new CompareCondition<int>(
                              DataObject.Schema.SysState,
                              new ValueCondition<int>(0), COMPARE_KIND.EQUAL)))));
 */ 
        }
예제 #22
0
 public static IList<TblStages> GetStagesForCurriculum(TblCurriculums curriculum)
 {
     List<int> stagesIds = ServerModel.DB.LookupIds<TblStages>(curriculum, null);
     return ServerModel.DB.Load<TblStages>(stagesIds);
 }
예제 #23
0
 public static IList<TblPermissions> GroupPermissionsForCurriculum(TblGroups group, TblCurriculums curriculum)
 {
     return ServerModel.DB.Query<TblPermissions>(
               new AndCondition(
                  new CompareCondition<int>(
                     DataObject.Schema.CurriculumRef,
                     new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL),
                  new CompareCondition<int>(
                     DataObject.Schema.OwnerGroupRef,
                     new ValueCondition<int>(group.ID), COMPARE_KIND.EQUAL)));
 }
예제 #24
0
 public IdendtityNode(TblCurriculums curriculum)
     : this(curriculum.Name, curriculum.ID, curriculum.Description)
 {
     Type = NodeType.Curriculum;
     
 }
예제 #25
0
        public override void Loaded()
        {
            base.Loaded();

            string message = "";
            if (CourseId != -1)
            {
                course = ServerModel.DB.Load<TblCourses>(CourseId);
                Caption.Value = pageCaption.
                    Replace("{0}", courseStr).
                    Replace("{1}", course.Name);
                Description.Value = pageDescription.
                    Replace("{0}", courseStr).
                    Replace("{1}", course.Name);
                              
                foreach (TblPermissions permission in TeacherHelper.CurrentUserPermissionsForCourse(course))
                {
                    FxCourseOperations operation = ServerModel.DB.Load<FxCourseOperations>(permission.CourseOperationRef.Value);
                    if (permission.ParentPermitionRef.HasValue)
                    {
                        TblPermissions parentPermission = ServerModel.DB.Load<TblPermissions>(permission.ParentPermitionRef.Value);
                        TblUsers parent = ServerModel.DB.Load<TblUsers>(parentPermission.OwnerUserRef.Value);
                        message += grantedObject.
                            Replace("{0}", parent.DisplayName).
                            Replace("{1}", operation.Name).
                            Replace("{2}", courseStr) + breakLine;
                    }
                    else
                    {
                        message += ownObject.Replace("{0}", courseStr).Replace("{1}", operation.Name) + breakLine;
                    }
                }
            }

            if (CurriculumId != -1)
            {
                curriculum = ServerModel.DB.Load<TblCurriculums>(CurriculumId);
                Caption.Value = pageCaption.
                    Replace("{0}", curriculumStr).
                    Replace("{1}", curriculum.Name);
                Description.Value = pageDescription.
                    Replace("{0}", curriculumStr).
                    Replace("{1}", curriculum.Name);

                foreach (TblPermissions permission in TeacherHelper.CurrentUserPermissionsForCurriculum(curriculum))
                {
                    FxCurriculumOperations operation = ServerModel.DB.Load<FxCurriculumOperations>(permission.CurriculumOperationRef.Value);
                    if (permission.ParentPermitionRef.HasValue)
                    {
                        TblPermissions parentPermission = ServerModel.DB.Load<TblPermissions>(permission.ParentPermitionRef.Value);
                        TblUsers parent = ServerModel.DB.Load<TblUsers>(parentPermission.OwnerUserRef.Value);
                        message += grantedObject.
                            Replace("{0}", parent.DisplayName).
                            Replace("{1}", operation.Name).
                            Replace("{2}", curriculumStr) + breakLine;
                    }
                    else
                    {
                        message += ownObject.Replace("{0}", curriculumStr).Replace("{1}", operation.Name) + breakLine;
                    }
                }
            }

            Message.Value = message;
            Title.Value = Caption.Value;

            fillTeachersTable();
        }
예제 #26
0
        public override void Loaded()
        {
            base.Loaded();

            string message = "";

            if (CourseId != -1)
            {
                course        = ServerModel.DB.Load <TblCourses>(CourseId);
                Caption.Value = pageCaption.
                                Replace("{0}", courseStr).
                                Replace("{1}", course.Name);
                Description.Value = pageDescription.
                                    Replace("{0}", courseStr).
                                    Replace("{1}", course.Name);

                foreach (TblPermissions permission in TeacherHelper.CurrentUserPermissionsForCourse(course))
                {
                    FxCourseOperations operation = ServerModel.DB.Load <FxCourseOperations>(permission.CourseOperationRef.Value);
                    if (permission.ParentPermitionRef.HasValue)
                    {
                        TblPermissions parentPermission = ServerModel.DB.Load <TblPermissions>(permission.ParentPermitionRef.Value);
                        TblUsers       parent           = ServerModel.DB.Load <TblUsers>(parentPermission.OwnerUserRef.Value);
                        message += grantedObject.
                                   Replace("{0}", parent.DisplayName).
                                   Replace("{1}", operation.Name).
                                   Replace("{2}", courseStr) + breakLine;
                    }
                    else
                    {
                        message += ownObject.Replace("{0}", courseStr).Replace("{1}", operation.Name) + breakLine;
                    }
                }
            }

            if (CurriculumId != -1)
            {
                curriculum    = ServerModel.DB.Load <TblCurriculums>(CurriculumId);
                Caption.Value = pageCaption.
                                Replace("{0}", curriculumStr).
                                Replace("{1}", curriculum.Name);
                Description.Value = pageDescription.
                                    Replace("{0}", curriculumStr).
                                    Replace("{1}", curriculum.Name);

                foreach (TblPermissions permission in TeacherHelper.CurrentUserPermissionsForCurriculum(curriculum))
                {
                    FxCurriculumOperations operation = ServerModel.DB.Load <FxCurriculumOperations>(permission.CurriculumOperationRef.Value);
                    if (permission.ParentPermitionRef.HasValue)
                    {
                        TblPermissions parentPermission = ServerModel.DB.Load <TblPermissions>(permission.ParentPermitionRef.Value);
                        TblUsers       parent           = ServerModel.DB.Load <TblUsers>(parentPermission.OwnerUserRef.Value);
                        message += grantedObject.
                                   Replace("{0}", parent.DisplayName).
                                   Replace("{1}", operation.Name).
                                   Replace("{2}", curriculumStr) + breakLine;
                    }
                    else
                    {
                        message += ownObject.Replace("{0}", curriculumStr).Replace("{1}", operation.Name) + breakLine;
                    }
                }
            }

            Message.Value = message;
            Title.Value   = Caption.Value;

            fillTeachersTable();
        }
예제 #27
0
 public void AddCurriculumnToInfo(TblCurriculums curriculumn)
 {
     if(_curriculumn == null)
         _curriculumn = curriculumn;
 }
예제 #28
0
 public static IList <TblStages> StagesOfCurriculum(TblCurriculums curriculum)
 {
     return(ServerModel.DB.Query <TblStages>(new CompareCondition <int>(
                                                 DataObject.Schema.CurriculumRef,
                                                 new ValueCondition <int>(curriculum.ID), COMPARE_KIND.EQUAL)));
 }
예제 #29
0
        public static IList <TblStages> GetStagesForCurriculum(TblCurriculums curriculum)
        {
            List <int> stagesIds = ServerModel.DB.LookupIds <TblStages>(curriculum, null);

            return(ServerModel.DB.Load <TblStages>(stagesIds));
        }
예제 #30
0
        public static void UnSignGroupFromCurriculum(TblGroups group, TblCurriculums curriculum)
        {
            List<TblPermissions> curriculumPermissions = ServerModel.DB.Query<TblPermissions>(
                new AndCondition(
                   new CompareCondition<int>(
                      DataObject.Schema.CurriculumRef,
                      new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL),
                   new CompareCondition<int>(
                      DataObject.Schema.OwnerGroupRef,
                      new ValueCondition<int>(group.ID), COMPARE_KIND.EQUAL)));

            ServerModel.DB.Delete<TblPermissions>(curriculumPermissions);

            foreach (TblStages stage in TeacherHelper.StagesOfCurriculum(curriculum))
            {
                List<TblPermissions> stagePermissions = ServerModel.DB.Query<TblPermissions>(
                new AndCondition(
                   new CompareCondition<int>(
                      DataObject.Schema.StageRef,
                      new ValueCondition<int>(stage.ID), COMPARE_KIND.EQUAL),
                   new CompareCondition<int>(
                      DataObject.Schema.OwnerGroupRef,
                      new ValueCondition<int>(group.ID), COMPARE_KIND.EQUAL)));

                ServerModel.DB.Delete<TblPermissions>(stagePermissions);
            }

        }