Пример #1
0
        /// <summary>
        /// Create the course
        /// </summary>
        public bool Create(string name, string number, string instructor)
        {
            Course course = new Course();

            //TODO: Verify these values
            course.Name = name;
            course.Number = number;

            //Create course
            m_dp.CreateCourse(course);

            //Get all data
            course = GetInfo(course.ID);

            //Define default roles
            CourseRole role = new CourseRole();
            role.CourseID = course.ID;
            role.Name = "Student"; role.Staff = false;
            m_dp.CreateCourseRole(role);
            role.Name = "TA"; role.Staff = true;
            m_dp.CreateCourseRole(role);
            role.Name = "Instructor"; role.Staff = true;
            m_dp.CreateCourseRole(role);

            //Assign filesys permissions
            CourseRole student = GetRoleInfo("Student", course.ID);
            CourseRole ta = GetRoleInfo("TA", course.ID);
            CourseRole ins = GetRoleInfo("Instructor", course.ID);
            CFilePermission.FilePermissionList full = new CFilePermission.FilePermissionList();
            full.AddRange(CFilePermission.CreateFullAccess(ta.PrincipalID));
            full.AddRange(CFilePermission.CreateFullAccess(ins.PrincipalID));
            full.Add(new CFilePermission(student.PrincipalID, FileAction.READ, true));

            //Create content area
            FileSystem fs = new FileSystem(m_ident);
            string cpath = @"c:\ccontent\" + course.ID;
            CFile cdir = fs.CreateDirectory(cpath, false, full);

            course.ContentID = cdir.ID;
            Update(course);
            CFile ldir = fs.CreateDirectory(cpath + @"\" + "lnotes", false, null);
            ldir.Alias = "Lecture Notes"; fs.UpdateFileInfo(ldir, false);

            //Put operator in course temporarily
            m_dp.CreateCourseMember(m_ident.Name, course.ID, "Instructor", null);

            //Assign course perms
            CreatePermissions(course.ID, course.ID, Permission.COURSE);

            if (instructor != m_ident.Name) {
                //Add instructor
                AddUser(instructor, "Instructor", course.ID, null);

                //Take operator out
                RemoveUser(m_ident.Name, course.ID);
            }

            return true;
        }
Пример #2
0
        /// <summary>
        /// Create a course role
        /// </summary>
        public CourseRole CreateRole(int courseID, string name, bool isstaff)
        {
            //Check permission
            Authorize(courseID, Permission.COURSE, "createrole", courseID, null);

            CourseRole role = new CourseRole();
            role.CourseID = courseID;
            role.Name = name;
            role.Staff = isstaff;

            //Create role
            m_dp.CreateCourseRole(role);

            return role;
        }
Пример #3
0
 /// <summary>
 /// Deny a permission to an entity
 /// </summary>
 public bool Deny(CourseRole role, string etype, string perm, int entityID, int courseID)
 {
     Authorize(courseID, etype, "updateperms", entityID, null);
     return m_dp.DenyPermission(role.PrincipalID, perm, etype, entityID);
 }