public function getCurrentAppliance()
 {
     $appliance_id = intval($this->request->getVar('id'));
     $is_draft = intval($this->request->getVar('is_draft'));
     $appliance = false;
     if ($appliance_id > 0) {
         if ($is_draft) {
             $appliance = $this->appliance_draft_repository->getById($appliance_id);
         } else {
             $appliance = $this->appliance_draft_repository->getByLiveServiceId($appliance_id);
         }
         //if no draft found we pull the live one to create the draft from it when saved
         if (!$appliance) {
             $appliance = $this->appliance_repository->getById($appliance_id);
         }
     }
     return $appliance;
 }
 protected function registerCompanyServiceResource(array $data, ICompanyService $company_service)
 {
     $validator = $this->validator_factory->buildValidatorForCompanyResource($data);
     if ($validator->fails()) {
         return $this->validationError($validator->messages());
     }
     $resource = $this->marketplace_factory->buildResource($data['name'], $data['link'], $company_service);
     $company_service_id = $resource->getOwner()->getIdentifier();
     $company_service = $resource->getOwner();
     if ($company_service_id > 0 && !$this->repository->getById($company_service_id)) {
         throw new NotFoundEntityException('CompanyService', sprintf("id %s", $company_service_id));
     }
     if (!is_null($this->add_resource_policy)) {
         $this->add_resource_policy->canAdd($company_service);
     }
     $company_service->addResource($resource);
     return $resource->getIdentifier();
 }