public function getList() { $integration_merchant = Module::loadEntity('IntegrationMerchant', Module::getApiPublicKey(), 'apiPublicKey'); $user = Module::loadEntity('User', $integration_merchant->getId(), 'integrationMerchant'); if ($integration_merchant) { $userData = array('name' => $user->getName(), 'identification_document' => $user->getIdentificationDocument(), 'email' => $user->getEmail(), 'phone_number' => $user->getPhoneNumber(), 'register' => $user->getRegister()); $result = array('merchant_id' => $integration_merchant->getApiPublicKey(), 'user' => $userData); return new JsonModel($result); } else { $this->controller->getResponse()->setStatusCode(404); throw new \Exception('Merchant Not Found'); } }
/** * Carregar uma Entidade existente * * @param string $nameEntity * @param string $idValue * @param string $idCode * @return Bazaron\Entity\AbstractEntity */ public function loadEntity($nameEntity, $idValue, $idCode = 'id') { return Module::loadEntity($nameEntity, $idValue, $idCode); }
public function create($data) { $headerContent = $this->controller->getRequest()->getHeaders(); $document = $headerContent->get('Document'); $isNewMerchant = $headerContent->get('isNewMerchant'); $nameCity = $headerContent->get('City'); $country = $headerContent->get('Country'); $state = $headerContent->get('State'); $cep = $headerContent->get('PostalCode'); $address = $headerContent->get('Address'); $neighborhood = $headerContent->get('Neighborhood'); $name = $headerContent->get('Name'); $rg = $headerContent->get('Rg'); $email = $headerContent->get('Email'); $password = $headerContent->get('Password'); $phoneNumber = $headerContent->get('PhoneNumber'); if (!$document) { $this->controller->getResponse()->setStatusCode(401); throw new \Exception('Document Is Required'); } $merchant = null; $sysLanguage = Module::getRepository('SystemLanguage')->findOneBy(array('name' => Module::getMerchantLanguage())); if ($isNewMerchant) { $checkIsNewMerchant = $isNewMerchant->getFieldValue() == "true" ? true : intval($isNewMerchant->getFieldValue()); if (!$checkIsNewMerchant) { $this->controller->getResponse()->setStatusCode(401); throw new \Exception('Request Failure'); } if (!Module::getApiPublicKey()) { $this->controller->getResponse()->setStatusCode(401); throw new \Exception('MERCHANT-ID Is Required'); } $existingMerchant = Module::getRepository('Merchant')->findMerchantWithPublicKey(Module::getApiPublicKey()); $merchant = $existingMerchant; if (empty($merchant->getApiPrivateKey())) { $merchant = Module::loadEntity('Merchant', $merchant->getId()); $userDocument = Module::getRepository('User')->findOneBy(array('merchant' => Module::getRepository('Merchant')->findOneBy(array('apiPublicKey' => Module::getApiPublicKey())))); $merchant->setApiPrivateKey(time() . $merchant->getApiPublicKey() . $userDocument->getDocument() . time())->setApiPublicKey(time() . $userDocument->getDocument() . time())->save(); } else { $this->controller->getResponse()->setStatusCode(302); throw new \Exception('User Already Authenticated'); } return new JsonModel(array('success' => true, 'merchant_id' => $merchant->getApiPublicKey())); } else { if (!$nameCity || !$country || !$state || !$cep || !$address || !$neighborhood || !$name || !$rg || !$email || !$password || !$phoneNumber) { $this->controller->getResponse()->setStatusCode(401); throw new \Exception('All Fields Are Necessary'); } } $existingUser = Module::getRepository('User')->findUserByDocument($document->getFieldValue()); if (!$existingUser) { $existingCity = Module::getRepository('City')->findUniqueCity($nameCity->getFieldValue(), $country->getFieldValue(), $state->getFieldValue()); $city = $existingCity; if (!$existingCity) { $city = Module::newEntity('City'); $city->setName($nameCity->getFieldValue())->setCountry($country->getFieldValue())->setState($state->getFieldValue())->save(); } $addressEntity = Module::newEntity('Address'); $addressEntity->setCity($city)->setCep($cep->getFieldValue())->setSuperscription($address->getFieldValue())->setNeighborhood($neighborhood->getFieldValue())->save(); $merchant = Module::newEntity('Merchant'); $merchant->setLanguage($sysLanguage)->setApiPrivateKey("")->setApiPublicKey(time() . $document->getFieldValue() . time())->save(); $user = Module::newEntity('User'); $user->setDocument($document->getFieldValue())->setMerchant($merchant)->setAddress($addressEntity)->setName($name->getFieldValue())->setIdentificationDocument($rg->getFieldValue())->setEmail($email->getFieldValue())->setPassword($password->getFieldValue())->setPhoneNumber($phoneNumber->getFieldValue())->save(); } else { $this->controller->getResponse()->setStatusCode(302); throw new \Exception('User Already Exists'); } return new JsonModel(array('success' => true, 'merchant_id' => $merchant->getApiPublicKey())); }
public function configure($options) { if ($options == null) { return $this; } if (!$options instanceof Traversable && !is_array($options)) { throw new \Exception('$options should implement Traversable'); } foreach ($options as $name => &$value) { $funcset = 'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $name))); $funcset_id = 'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', substr($name, 0, -3)))); $funcset_cod = 'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', substr($name, 0, -4)))); $funcadd = 'add' . str_replace(' ', '', ucwords(str_replace('_', ' ', $name))); $funcadd_id = 'add' . str_replace(' ', '', ucwords(str_replace('_', ' ', substr($name, 0, -3)))); $funcadd_cod = 'add' . str_replace(' ', '', ucwords(str_replace('_', ' ', substr($name, 0, -4)))); $funcget = 'get' . str_replace(' ', '', ucwords(str_replace('_', ' ', $name))); $funcget_id = 'get' . str_replace(' ', '', ucwords(str_replace('_', ' ', substr($name, 0, -3)))); $funcget_cod = 'get' . str_replace(' ', '', ucwords(str_replace('_', ' ', substr($name, 0, -4)))); if (method_exists($this, $funcset)) { call_user_func(array($this, $funcset), $value); } else { if (method_exists($this, $funcset_id) && substr($name, -3) == '_id') { $entity = Module::loadEntity(ucwords(str_replace('_', ' ', substr($name, 0, -3))), $value, 'id'); call_user_func(array($this, $funcset_id), $entity); } else { if (method_exists($this, $funcset_cod) && substr($name, -4) == '_cod') { $entity = Module::loadEntity(ucwords(str_replace('_', ' ', substr($name, 0, -4))), $value, 'cod'); call_user_func(array($this, $funcset_cod), $entity); } else { if (method_exists($this, $funcadd)) { if (is_array($value)) { call_user_func(array($this, $funcget))->clear(); foreach ($value as $v) { call_user_func(array($this, $funcadd), $v); } } else { call_user_func(array($this, $funcadd), $value); } } else { if (method_exists($this, $funcadd_id) && substr($name, -3) == '_id') { if (is_array($value)) { call_user_func(array($this, $funcget_id))->clear(); foreach ($value as $v) { $entity = Module::loadEntity(ucwords(str_replace('_', ' ', substr($name, 0, -3))), $v, 'id'); call_user_func(array($this, $funcadd_id), $entity); } } else { $entity = Module::loadEntity(ucwords(str_replace('_', ' ', substr($name, 0, -3))), $value, 'id'); call_user_func(array($this, $funcadd_id), $entity); } } else { if (method_exists($this, $funcadd_cod) && substr($name, -4) == '_cod') { if (is_array($value)) { call_user_func(array($this, $funcget_cod))->clear(); foreach ($value as $v) { $entity = Module::loadEntity(ucwords(str_replace('_', ' ', substr($name, 0, -4))), $v, 'cod'); call_user_func(array($this, $funcadd_cod), $entity); } } else { $entity = Module::loadEntity(ucwords(str_replace('_', ' ', substr($name, 0, -4))), $value, 'cod'); call_user_func(array($this, $funcadd_cod), $entity); } } else { continue; // instead of throwing an exception } } } } } } } return $this; }