Пример #1
0
 public void UpdateButton_Click()
 {
     foreach (TableRow operationRow in Operations.Rows)
     {
         CheckBox operationCheckBox = operationRow.Cells[0].Controls[0] as CheckBox;
         if (operationCheckBox.Enabled)
         {
             FxCourseOperations operation = ServerModel.DB.Load <FxCourseOperations>(int.Parse(operationCheckBox.ID));
             if (operationCheckBox.Checked)
             {
                 if (!TeacherHelper.HavePermissionForCourse(teacher.ID, course, operation))
                 {
                     TeacherHelper.Share(TeacherHelper.GetPermissionForCourse(course, operation), teacher.ID, false);
                 }
             }
             else
             {
                 if (TeacherHelper.HavePermissionForCourse(teacher.ID, course, operation))
                 {
                     TeacherHelper.RemovePermissionForCourse(course, operation, teacher);
                 }
             }
         }
     }
 }
Пример #2
0
        private void fillOperationsTable()
        {
            Operations.Rows.Clear();

            foreach (FxCourseOperations operation in TeacherHelper.CourseOperations())
            {
                TableRow  operationRow  = new TableRow();
                TableCell operationCell = new TableCell();

                CheckBox operationCheckBox = new CheckBox();
                operationCheckBox.Text = operation.Name;
                operationCheckBox.ID   = operation.ID.ToString();

                TblPermissions permission = TeacherHelper.GetPermissionForCourse(course, operation);
                if (permission == null || !permission.CanBeDelagated)
                {
                    operationCheckBox.Enabled = false;
                }
                else
                {
                    operationCheckBox.Checked = TeacherHelper.AreParentAndChildByCourse(permission, teacher, course);
                }
                operationCell.Controls.Add(operationCheckBox);

                operationRow.Cells.Add(operationCell);
                Operations.Rows.Add(operationRow);
            }
        }
Пример #3
0
        private void UpdateCourseButton_Click()
        {
            foreach (TableRow operationRow in Operations.Rows)
            {
                CheckBox operationCheckBox = operationRow.Cells[0].Controls[0] as CheckBox;
                CheckBox delegateCheckBox  = operationRow.Cells[1].Controls[0] as CheckBox;

                if (operationCheckBox.Enabled)
                {
                    TblPermissions     parentPermission = ServerModel.DB.Load <TblPermissions>(int.Parse(operationCheckBox.ID));
                    FxCourseOperations operation        = ServerModel.DB.Load <FxCourseOperations>(parentPermission.CourseOperationRef.Value);

                    TblPermissions childPermission = TeacherHelper.GetPermissionForCourse(parentPermission, teacher, course, operation);
                    if (operationCheckBox.Checked)
                    {
                        if (childPermission == null)
                        {
                            TeacherHelper.Share(TeacherHelper.CurrentUserPermissionForCourse(course, operation), teacher.ID, delegateCheckBox.Checked);
                        }
                        else
                        {
                            if (childPermission.CanBeDelagated && !delegateCheckBox.Checked)
                            {
                                TeacherHelper.RemoveChildPermissions(childPermission);
                            }

                            childPermission.CanBeDelagated = delegateCheckBox.Checked;
                            ServerModel.DB.Update <TblPermissions>(childPermission);
                        }
                    }
                    else
                    {
                        if (childPermission != null)
                        {
                            TeacherHelper.RemoveChildPermissions(childPermission);
                            ServerModel.DB.Delete <TblPermissions>(childPermission.ID);
                        }
                    }
                }
            }

            Redirect(BackUrl);
        }