public ActionResult Index(int id)
        {
            ICourseClassService service = CourseClassService.GetInstance<CourseClassRepository>();
            courseClass = service.Get(id);
            if (courseClass == null || id == 0) {
                return RedirectToHash("Dashboard", "Index", "dashboard");
            }
            ViewBag.CourseId = courseClass.CourseId;
            ViewBag.CourseClassId = courseClass.Id;
            ViewBag.ClassUserName = CurrentProfile.Name;

            if (IsInRole(Role.ROLE_STUDENT)) {
                if (courseClass.Broadcasting) {
                    ICourseStudentService courseStudentService = CourseStudentService.GetInstance<CourseStudentRepository>();
                    if (courseStudentService.IsStudentInCourse(courseClass.CourseId, CurrentProfile.Id)) {
                        return View("StudentWhiteboard");
                    }
                }
            } else if (IsInRole(Role.ROLE_TEACHER)) {
                ICourseService courseService = CourseService.GetInstance<CourseRepository>();
                bool isOwnerOfClass = courseService.IsTeacherOfCourse(courseClass.CourseId, CurrentProfile.Id);
                if (isOwnerOfClass && courseClass.Broadcasting) {
                    return View("TeacherWhiteboard");
                }
            }
            IWhiteboardService whiteboardService = WhiteboardService.GetInstance<WhiteboardRepository>();
            IEnumerable<WhiteboardNote> notes = whiteboardService.GetWhiteboardNotesByClassId(courseClass.Id);
            ViewBag.WhiteboardNotes = notes;

            return View();
        }
 public CourseClassViewModel(CourseClass cc)
 {
     Id = cc.Id;
     Description = cc.Description;
     BeginTime = cc.BeginTime;
     EndTime = cc.EndTime;
     Broadcasting = cc.Broadcasting;
     Finished = cc.Finished;
 }
        public ActionResult AddClass(int courseId, string description, long beginTime, long endTime)
        {
            ICourseClassService courseClassService = CourseClassService.GetInstance<CourseClassRepository>();
            CourseClass courseClass = new CourseClass();
            courseClass.CourseId = courseId;
            courseClass.Description = description;
            courseClass.Finished = false;
            courseClass.Broadcasting = false;
            courseClass.BeginTime = beginTime;
            courseClass.EndTime = endTime;

            courseClass = courseClassService.Insert(courseClass);

            return Json(new { status = "ok", id = courseClass.Id, begin = beginTime, end = endTime, description = description });
        }