/**
  * Create a new Enrollment instance.
  *
  * @param  int  $idCourse
  * @param  int  $idUser
  * @return int $idEnrollment
  */
 public static function enroll($idCourse, $idUser, $end_at = Null)
 {
     $app = \Slim\Slim::getInstance();
     $user = UserController::findUser($idUser);
     $course = CourseController::getCourseDetails($idCourse);
     if ($end_at && date('Y-m-d H:i:s') > $end_at) {
         $app->halt("400", json_encode("Enrollment already expired. Please check the end date."));
     }
     $data = array('user_id' => $idUser, 'course_id' => $idCourse);
     $enrollment = Enrollment::firstOrNew($data);
     // if there is scorm cloud id then enroll in scorm cloud
     if (isset($course->scorm_id)) {
         $scormRegistrationId = ScormCloudAPIController::register($idCourse, $idUser);
         if (isset($scormRegistrationId)) {
             $enrollment->scorm_registration_id = $scormRegistrationId;
             $enrollment->scorm_status = "enrolled";
         }
     }
     if (!$enrollment->id) {
         $enrollment->isSafety = $course->safety;
         $enrollment->end_at = $end_at;
         $enrollment->save();
     } else {
         $enrollment->end_at = $end_at;
         //echo $enrollment->end_at;
         $enrollment->save();
     }
     return $enrollment->id;
 }