/**
  * Execute's MySQL Query with the Instruction Factory
  * Generated Statement
  */
 public function execute()
 {
     $this->statement = DatabaseManager::getInstance()->query(RaiseManager::getFactory('instruction')->getInstruction(), RaiseManager::getFactory('instruction')->getStatement());
     switch (RaiseManager::getHandler('request')->getRequest()->getMethod()) {
         case 'GET':
             $this->response = $this->statement->fetchAll(PDO::FETCH_OBJ);
             break;
         case 'POST':
             $this->lastInsertId = DatabaseManager::getInstance()->getLastInsertId();
             break;
     }
 }
 /**
  * Normally a RAISE Factory does'nt have any parameters
  * The Factory normally will do his business logic in a black box.
  * In other words, the Factory will request the necessary data to work
  * through the RAISE Managers
  */
 public function __construct()
 {
     $raiseResources = Json::getInstance()->convert(DatabaseManager::getInstance()->fetchAll(Constants::getInstance()->get('metaResourcesQuery')), new ResourceModel());
     $this->addSet($raiseResources);
 }
 /**
  * Normally a RAISE Factory does not have any parameters
  * The Factory normally will do its business logic in a black box.
  * In other words, the Factory will request the necessary data to work
  * through the RAISE Managers
  */
 public function __construct()
 {
     $raiseMessages = Json::getInstance()->convert($this->collectData(DatabaseManager::getInstance()->fetchAll(Constants::getInstance()->get('raiseMessagesQuery'))), new MessageModel());
     $this->addSet($raiseMessages);
 }
 /**
  * Method that executes the Business Logic
  * and does all Controlling operations.
  *
  * @note Interaction is similar as a Controller
  *
  * @return void
  */
 public function execute()
 {
     DatabaseManager::getInstance()->query(Constants::getInstance()->get('addServiceAction'), [':ACT_NAME' => $this->getRequest()->query->get('name'), ':ACT_TYPE' => $this->getRequest()->query->get('type')]);
     $this->setMessage('ServiceInsertion', ['item_id' => $this->getInstruction()->getInsertId(), 'action_id' => $actionId = DatabaseManager::getInstance()->getLastInsertId()]);
     DatabaseManager::getInstance()->query(Constants::getInstance()->get('addServiceActionRelation'), [':SRVC_ID' => $this->getInstruction()->getInsertId(), ':ACT_ID' => $actionId]);
 }
 /**
  * Insert a Token in the Database
  * And get the Created Token
  *
  * @param int $deviceId Device Identification
  * @return string
  */
 public function createToken($deviceId = 0)
 {
     DatabaseManager::getInstance()->query(Constants::getInstance()->get('addTokenQuery'), [':DVC_ID' => $deviceId, ':DVC_TOKEN' => $tokenHash = Security::getInstance()->generateSha1(), ':DVC_TOKEN_EXPIRE' => Time::getInstance()->getTime() + SettingsManager::getInstance()->getItem('security')->__get('tokenExpirationTime')]);
     return $tokenHash;
 }
 /**
  * Normally a RAISE Factory does'nt have any parameters
  * The Factory normally will do his business logic in a black box.
  * In other words, the Factory will request the necessary data to work
  * through the RAISE Managers
  *
  * @param int $resourceId Resource Related Identifier
  */
 public function __construct($resourceId = 0)
 {
     $raiseProperties = Json::getInstance()->convert(DatabaseManager::getInstance()->fetchAll(Constants::getInstance()->get('specificPropertiesQuery'), [':RSRC_ID' => $resourceId]), new PropertyModel());
     $this->addSet($raiseProperties);
 }