/** * Add a new item * * @param \Amisure\P4SApiBundle\Entity\EvaluationModelItem|string $item * Evaluation item, or description of the evaluation item * @param string $value * Value of the evaluation item if the evaluation item itself is not previsously provided * @see \Amisure\P4SApiBundle\Entity\EvaluationModelItem * @return \Amisure\P4SApiBundle\Entity\EvaluationModelCategory */ public function addItem($item, $responseType = '') { $evaluationItem = $item; if (is_string($item)) { $evaluationItem = new EvaluationModelItem($item, $responseType); } $evaluationItem->setCategory($this); if (-1 == $evaluationItem->getItemId()) { $evaluationItem->setItemId($this->items->count()); } $this->items->add($evaluationItem); return $this; }
/** * Add a new item response * * @param \Amisure\P4SApiBundle\Entity\EvaluationModelItemResponse|string $item * Evaluation item, or description of the evaluation item * @param string $label * Label of the evaluation item response if the evaluation item response itself is not previsously provided * @param string $type * Type of the evaluation item response if the evaluation item response itself is not previsously provided * @see \Amisure\P4SApiBundle\Entity\EvaluationModelItem * @return \Amisure\P4SApiBundle\Entity\EvaluationModelItem */ public function addResponse($response, $label = '', $type = EvaluationModelItemResponse::TypeString) { $evaluationResponse = $response; if (is_string($response)) { $evaluationResponse = new EvaluationModelItem($response, $label, $type); } $evaluationResponse->setItem($this); if (-1 == $evaluationResponse->getResponseId()) { $evaluationResponse->setResponseId($this->responses->count()); } $this->responses->add($evaluationResponse); return $this; }
public static function fromJson($data) { $element = new EvaluationModel(@$data['code'], @$data['label'], @$data['description'], @$data['id']); $element->setFolderSectionId(@$data['folderSectionId']); $element->setBeneficiaryId(@$data['beneficiaryId']); $element->setEvaluatorId(@$data['evaluatorId']); $element->setAppId(@$data['appId']); $element->setState(@$data['state']); $element->setDate(@$data['date']); $element->setObject(@$data['object']); $element->setLastUpdate(@$data['lastUpdate']); if (array_key_exists('categories', $data) && is_array($data['categories']) && !empty($data['categories'])) { foreach ($data['categories'] as $cat) { $newCategory = new EvaluationModelCategory(@$cat['label'], @$cat['code'], @$cat['categoryId'], @$cat['id']); if (array_key_exists('items', $cat) && is_array($cat['items']) && !empty($cat['items'])) { foreach ($cat['items'] as $item) { $newItem = new EvaluationModelItem(@$item['label'], @$item['responseType'], @$item['itemId'], @$item['id']); if (array_key_exists('responses', $item) && is_array($item['responses']) && !empty($item['responses'])) { foreach ($item['responses'] as $response) { $newResponse = new EvaluationModelItemResponse(@$response['value'], @$response['label'], @$response['type'], @$response['responseId'], @$response['id'], @$response['selected']); $newItem->addResponse($newResponse); } } $newCategory->addItem($newItem); } } $element->addCategory($newCategory); } } return $element; }