public function updateBulkPresentations(SS_HTTPRequest $request)
 {
     try {
         if (!$this->isJson()) {
             return $this->validationError(array('invalid content type!'));
         }
         $summit_id = intval($request->param('SUMMIT_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $data = $this->getJsonRequest();
         $this->summit_service->updateBulkPresentations($summit, $data);
         return $this->ok();
     } catch (EntityValidationException $ex1) {
         SS_Log::log($ex1->getMessage(), SS_Log::WARN);
         return $this->validationError($ex1->getMessages());
     } catch (NotFoundEntityException $ex3) {
         SS_Log::log($ex3->getMessage(), SS_Log::WARN);
         return $this->notFound($ex3->getMessage());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }
 public function matchEventbriteAttendee(SS_HTTPRequest $request)
 {
     try {
         $eb_attendee_id = intval($request->param('EB_ATTENDEE_ID'));
         $member_id = intval($request->param('MEMBER_ID'));
         $summit_id = intval($request->param('SUMMIT_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $attendee = $this->summit_service->matchEventbriteAttendee($summit, $eb_attendee_id, $member_id);
         return $this->ok($attendee->ID);
     } catch (NotFoundEntityException $ex2) {
         SS_Log::log($ex2->getMessage(), SS_Log::WARN);
         return $this->notFound($ex2->getMessage());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }
 public function updateReport(SS_HTTPRequest $request)
 {
     try {
         if (!$this->isJson()) {
             return $this->validationError(array('invalid content type!'));
         }
         $summit_id = intval($request->param('SUMMIT_ID'));
         $report = $request->param('REPORT');
         $report_data = $this->getJsonRequest();
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         switch ($report) {
             case 'speaker_report':
             case 'presentation_report':
                 $this->summit_service->updateAssistance($summit, $report_data);
                 break;
             case 'room_report':
                 $this->summit_service->updateHeadCount($summit, $report_data);
                 break;
             case 'video_report':
                 $this->summit_service->updateVideoDisplay($summit, $report_data['report_data']);
                 $this->summit_service->updateReportConfig($report, $report_data['report_config']);
                 break;
         }
         return $this->ok();
     } catch (EntityValidationException $ex1) {
         SS_Log::log($ex1->getMessage(), SS_Log::WARN);
         return $this->validationError($ex1->getMessages());
     } catch (ValidationException $ex2) {
         SS_Log::log($ex2->getResult()->messageList(), SS_Log::WARN);
         return $this->validationError($ex2->getResult()->messageList());
     } catch (NotFoundEntityException $ex3) {
         SS_Log::log($ex3->getMessage(), SS_Log::WARN);
         return $this->notFound($ex3->getMessages());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }
 public function emailRegistrationCode(SS_HTTPRequest $request)
 {
     try {
         $summit_id = intval($request->param('SUMMIT_ID'));
         $code_id = intval($request->param('CODE_ID'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $promocode = $this->summit_service->sendEmailPromoCode($summit, $code_id);
         return $this->ok($promocode->getCode());
     } catch (EntityValidationException $ex1) {
         SS_Log::log($ex1->getMessage(), SS_Log::WARN);
         return $this->validationError($ex1->getMessages());
     } catch (NotFoundEntityException $ex2) {
         SS_Log::log($ex2->getMessage(), SS_Log::WARN);
         return $this->notFound($ex2->getMessage());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }
 public function mergeSpeakers(SS_HTTPRequest $request)
 {
     try {
         $summit_id = intval($request->param('SUMMIT_ID'));
         $speaker_1 = intval($request->param('ID_ONE'));
         $speaker_2 = intval($request->param('ID_TWO'));
         $summit = $this->summit_repository->getById($summit_id);
         if (is_null($summit)) {
             throw new NotFoundEntityException('Summit', sprintf(' id %s', $summit_id));
         }
         $data = $this->getJsonRequest();
         $changes = $this->summit_service->mergeSpeakers($summit, $speaker_1, $speaker_2, $data);
         return $this->ok($changes);
     } catch (EntityValidationException $ex1) {
         SS_Log::log($ex1->getMessage(), SS_Log::WARN);
         return $this->validationError($ex1->getMessages());
     } catch (NotFoundEntityException $ex2) {
         SS_Log::log($ex2->getMessage(), SS_Log::WARN);
         return $this->notFound($ex2->getMessage());
     } catch (Exception $ex) {
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return $this->serverError();
     }
 }