/** * The add action * @return \Zend\View\Model\JsonModel */ public function addAction() { if (!\Api\Service\Encoder\Answer::validateParameters($this->_request->getParams())) { $this->getResponse()->setStatusCode(400); return new \Zend\View\Model\JsonModel(array("result" => "false", "error" => "Incorrect parameters")); } else { $model = new \Api\Model\Answer(); $model->setAnswerText($this->params()->fromPost("answerText"))->setQuestionId($this->params()->fromPost("questionId")); $model = $this->getServiceLocator()->get("Api\\Service\\Answer")->insert($model); if ($model instanceof \Api\Model\Answer) { return new \Zend\View\Model\JsonModel(array("result" => "true", "error" => "", "model" => $model->toArray())); } else { $this->getResponse()->setStatusCode(417); return new \Zend\View\Model\JsonModel(array("result" => "false", "error" => "Add failed")); } } }
/** * Add a new text question * @param array $parameters * @return array */ public function addText($parameters) { $answerService = $this->getServiceLocator()->get("Api\\Service\\Answer"); $pageQuestionService = $this->getServiceLocator()->get("Api\\Service\\PageQuestion"); $surveyId = $parameters['surveyId']; $pageId = $parameters['pageId']; $render = 3; if (isset($parameters['makeTextarea'])) { $render = 4; } $questionModel = new \Api\Model\Question(); $questionModel->setQuestionText($parameters['questionText'])->setRenderId($render); $questionModel = $this->insert($questionModel); //now add the answer $answerModel = new \Api\Model\Answer(); $answerModel->setAnswerText("text")->setQuestionId($questionModel->getId()); $answerModel = $answerService->insert($answerModel); //now add the page question link $pageQuestionModel = new \Api\Model\PageQuestion(); $pageQuestionModel->setQuestionId($questionModel->getId())->setPageId($parameters['pageId'])->setSortOrder($this->getPageQuestionSortOrder($parameters['pageId'])); $pageQuestionModel = $pageQuestionService->insert($pageQuestionModel); return array('question' => $questionModel->toArray(), 'answers' => array($answerModel->toArray()), 'pageQuestion' => $pageQuestionModel->toArray()); }