Example #1
0
 /**
  * @param  array               $datas
  * @param  EntityAbstract      $element
  * @return mixed|ReleaseEntity
  */
 protected function fromApiToEntitySingle($datas = [], &$element = null)
 {
     $datas = parent::prepareData($datas);
     $entity = $element instanceof ReleaseEntity ? $element : new ReleaseEntity();
     $entity->setId($this->get($datas, 'id'));
     $entity->setName($this->get($datas, 'name'));
     $entity->setCanModify($this->get($datas, 'can_modify'));
     $entity->setIsActive($this->get($datas, 'is_active'));
     $entity->setReleaseNotes($this->get($datas, 'release_notes'));
     $entity->setReleaseType(isset($datas['release_type']) ? self::typeFromApiToEntitySingle($datas['release_type']) : null);
     $entity->setStatus(isset($datas['status']) ? self::statusFromApiToEntitySingle($datas['status']) : null);
     if (isset($datas['capacity']) && ($capacity = $datas['capacity'])) {
         $capacityEntity = new ReleaseCapacity();
         $capacityEntity->setUnit(Item::durationUnitFromApiToEntitySingle($capacity['time_unit']));
         $capacityEntity->setDuration($capacity['duration']);
         $entity->setCapacity($capacity);
     }
     $entity->setStartDate(isset($datas['start_date']) && null !== $datas['start_date'] ? new \DateTime($datas['start_date']) : null);
     $entity->setDueDate(isset($datas['due_date']) && null !== $datas['due_date'] ? new \DateTime($datas['due_date']) : null);
     $entity->setVelocityDueDate(isset($datas['velocity_start_date']) && null !== $datas['velocity_start_date'] ? new \DateTime($datas['velocity_start_date']) : null);
     if (isset($datas['parent'])) {
         $parent = $this->fromApiToEntitySingle($datas['parent']);
         $entity->setParent($parent);
     }
     if (isset($datas['children'])) {
         foreach ($datas['children'] as $child) {
             $child = $this->fromApiToEntitySingle($child);
             $entity->addChild($child);
         }
     }
     return $entity;
 }
Example #2
0
 /**
  * @param  array                  $datas
  * @param  EntityAbstract         $element
  * @return mixed|AttachmentEntity
  */
 protected function fromApiToEntitySingle($datas = [], &$element = null)
 {
     $datas = isset($datas['data']) ? $datas['data'] : $datas;
     $entity = $element instanceof AttachmentEntity ? $element : new AttachmentEntity();
     $entity->setId($this->get($datas, 'id'));
     $entity->setFileName($this->get($datas, 'file_name'));
     $entity->setDescription($this->get($datas, 'description'));
     $entity->setFileData($this->get($datas, 'file_data'));
     $entity->setAttachDate($this->get($datas, 'attach_date'));
     $entity->setDataHash($this->get($datas, 'data_hash'));
     if (isset($datas['source']) && isset($datas['source']['source_type'])) {
         $sourceEntity = Item::instanciateItemType($datas['source']['source_type']);
         $entity->setSource($sourceEntity->getHelper()->fromApiToEntity($datas['source'], $sourceEntity));
     }
     if (isset($datas['created_by']) && isset($datas['created_by']['user_type'])) {
         /** @var User|Contact $authorEntity */
         $authorEntity = PeopleAbstract::instanciatePeopleType($datas['created_by']['user_type']);
         $entity->setCreatedBy($authorEntity->getHelper()->fromApiToEntity($datas['created_by'], $authorEntity));
     }
     return $entity;
 }
Example #3
0
 /**
  * @param $result
  * @param $type
  * @return Message
  */
 private function item($result, $type)
 {
     $message = new Message();
     if (!isset($result['error'])) {
         $item = Item::instanciateItemType($type);
         $result = Item::fromApiToEntity($result, $item);
         $message->setSuccess(true);
         $message->setResult($result);
     } else {
         $message->setErrors($result['error']);
     }
     return $message;
 }