コード例 #1
0
ファイル: Registry.php プロジェクト: sgdoc/sgdoce-codigo
 private function _validateCredential($userCredential = NULL)
 {
     BusinessException::throwsExceptionIfParamIsNull(!empty($userCredential), "As credencias são de preenchimento obrigatório.");
     BusinessException::throwsExceptionIfParamIsNull(isset($userCredential['sqUsuario']) || !empty($userCredential['sqUsuario']), "O campo sqUsuário é de preenchimento obrigatório.");
     BusinessException::throwsExceptionIfParamIsNull(isset($userCredential['sgSistema']) || !empty($userCredential['sgSistema']), "O campo sgSistema é de preenchimento obrigatório.");
     BusinessException::throwsExceptionIfParamIsNull(isset($userCredential['inPerfilExterno']), "O campo inPerfilExterno é de preenchimento obrigatório.");
 }
コード例 #2
0
 private function _validatePessoa(PessoaValueObject $voPessoa)
 {
     try {
         BusinessException::throwsExceptionIfParamIsNull(trim($voPessoa->getNoPessoa()), self::NAME_REQUIRED);
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage(), $mExcp->getCode());
     }
 }
コード例 #3
0
/**
 * libCorpInfoconvByCpf
 * @param type $params
 * @param type $userCredential
 * @return json
 */
function libCorpInfoconvByCpf($ctInfoconvByCPF, $userCredential)
{
    $xmlResult = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>';
    try {
        Registry::factory()->setCredential($userCredential);
        $nuDoc = isset($ctInfoconvByCPF['doc']) ? $ctInfoconvByCPF['doc'] : NULL;
        $nuCpf = isset($ctInfoconvByCPF['cpf']) ? $ctInfoconvByCPF['cpf'] : $nuDoc;
        BusinessException::throwsExceptionIfParamIsNull(!empty($nuCpf), "O campo CPF é de preenchimento obrigatório.");
        $voInfoconv = ConfirmDocValueObject::factory()->setDoc($nuCpf);
        $result = ConfirmDocBusiness::factory(NULL, 'libcorp')->sourceCpf($voInfoconv);
        foreach ($result as $key => $value) {
            unset($result[$key]);
            $newKey = preg_replace('/\\s/i', '_', strtolower($key));
            $result[$newKey] = $value;
        }
        return sprintf($xmlResult, 'success', '00000', Registry::factory()->arrayToXml($result));
    } catch (\Exception $excp) {
        return sprintf($xmlResult, 'failure', $excp->getCode(), $excp->getMessage());
    }
}
コード例 #4
0
 /**
  * @example PessoaFisicaBusiness::updatePessoaFisica
  * @code
  * <?php
  *     # cria filtro usado pelo Pessoa Fisica
  *     $pessoaVO       = ValueObjectAbstract::factory('fullnamespace');
  *     $pessoaFisicaVO = ValueObjectAbstract::factory('fullnamespace');
  *     # outra forma de utilizar
  *     # $pessoaVO = PessoaValueObject::factory();
  *     # $pessoaFisicaVO = PessoaFisicaValueObject::factory();
  *     $pessoaFisicaVO->setNuCpf('12345678909');
  *
  *     # efetua pesquisa
  *     $pessoaBusiness = PessoaFisicaBusiness::factory();
  *     $pessoaBusiness->updatePessoaFisica($pessoaVO, $pessoaFisicaVO);
  * ?>
  * @endcode
  *
  * @param PessoaValueObject $voPessoa
  * @param PessoaFisicaValueObject $voPessoaFisica
  * @throws BusinessException
  */
 public function updatePessoaFisica(PessoaValueObject $voPessoa, PessoaFisicaValueObject $voPessoaFisica)
 {
     try {
         $voPessoaFisicaClone = clone $voPessoaFisica;
         # retira a máscara do CPF
         $voPessoaFisica->setNuCpf(preg_replace("/\\D+/", "", $voPessoaFisica->getNuCpf()));
         # efetua validação
         $this->_validatePessoaFisica($voPessoa, $voPessoaFisica);
         $sqPessoa = $voPessoa->getSqPessoa();
         BusinessException::throwsExceptionIfParamIsNull($sqPessoa, self::REQUIRED_SQ_PESSOA);
         $voTmp = PessoaBusiness::factory(NULL, 'libcorp')->find($voPessoa->getSqPessoa());
         $voPessoa->copySaveObjectData($voTmp);
         PessoaBusiness::factory(NULL, 'libcorp')->update($voPessoa);
         # Salva PessoaFisica
         $voPessoaTmp = self::factory(NULL, 'libcorp')->find($voPessoa->getSqPessoa());
         $voPessoaFisica->copySaveObjectData($voPessoaTmp);
         # anula nacionalidade
         if (0 === $voPessoaFisicaClone->getSqNacionalidade()) {
             $voPessoaFisica->setSqNacionalidade(NULL);
         }
         # anula naturalidade
         if (0 === $voPessoaFisicaClone->getSqNaturalidade()) {
             $voPessoaFisica->setSqNaturalidade(NULL);
         }
         $this->getModelPersist('libcorp')->update($voPessoaFisica);
         return $voPessoaFisica;
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage(), $mExcp->getCode());
     }
 }
コード例 #5
0
 /**
  * Fabrica de Model.
  *
  * Opcionalmente pode ser informado a entrada de configuracao de persistencia
  * util quando deseja trocar de conexao no mei do UC
  * @example BusinessAbstract::getModel
  * @code
  * <?php
  *     ...
  *     $business->getModel('default');
  *     ...
  * ?>
  * @endcode
  * @return ModelAbstract
  * @throws BusinessException
  * */
 public function getModel($dsName = NULL)
 {
     if (NULL == $this->_model) {
         $namespace = $this->getClassName();
         $namespace = $this->erReplace(array('business' => 'model', 'Business$' => 'Model'), $namespace);
         # lanca exception se a classe ainda nao tiver sido criada
         BusinessException::throwsExceptionIfParamIsNull(ModelAbstract::exists($namespace), self::MUST_CREATE_MODEL . " '{$namespace}'");
         # delega a fabrica de ModelAbstract que crie um model
         $this->_model = $namespace::factory($namespace, $dsName);
         # a persist depende diretamente do valueObject para montagem das consultas basicas e operacoes
         # simples de escrita: update, delete. assim, se o model existir seu ValueObject correspondente
         # tambem devera existir;
         $this->registerAnnotation($namespace);
     }
     return $this->_model;
 }
コード例 #6
0
 /**
  * Efetua a validação
  * @param IntegracaoPessoaInfoconvValueObject $voIntegracaoPessoaInfoconv
  * @throws BusinessException
  */
 private function _validateIntegracaoPessoaInfoconv(IntegracaoPessoaInfoconvValueObject $voIntegracaoPessoaInfoconv)
 {
     try {
         if (trim($voIntegracaoPessoaInfoconv->getSqPessoa())) {
             BusinessException::throwsExceptionIfParamIsNull(trim($voIntegracaoPessoaInfoconv->getSqPessoa()), self::REQUIRED_SQ_PESSOA);
         }
         if ($voIntegracaoPessoaInfoconv->getDtIntegracao()) {
             # Efetua sanitizacao de datas
             $dateFromVo = $voIntegracaoPessoaInfoconv->getDtIntegracao();
             $voIntegracaoPessoaInfoconv->setDtIntegracao(Date::factory($dateFromVo, 'd/m/Y')->output());
             //
             $voIntegracaoPessoaInfoconv->setTxJustificativa("");
         } else {
             if (trim($voIntegracaoPessoaInfoconv->getTxJustificativa())) {
                 $voIntegracaoPessoaInfoconv->setDtIntegracao(null);
             }
         }
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage(), $mExcp->getCode());
     }
 }
コード例 #7
0
 /**
  * Atualiza os dados de Pessoa Juridica
  *
  * @example PessoaJuridicaBusiness::updatePessoaJuridica
  * @code
  * <?php
  *     $pessoaVO = ValueObjectAbstract::factory('fullnamespace');
  *     $pessoaJuridicaVO = ValueObjectAbstract::factory('fullnamespace');
  *     # outra forma de utilizar
  *     # $pessoaVO = PessoaValueObject::factory();
  *     # $pessoaJuridicaVO = PessoaJuridicaValueObject::factory();
  *     $pessoaJuridicaVO->setNuCnpj('12345678901234');
  *
  *     # efetua pesquisa
  *     $pessoaJuridicaBusiness = PessoaJuridicaBusiness::factory();
  *     $pessoaJuridicaBusiness->updatePessoaJuridica($pessoaVO, $pessoaJuridicaVO);
  * ?>
  * @endcode
  *
  * @param PessoaValueObject $voPessoa
  * @param PessoaJuridicaValueObject $voPessoaJuridica
  * @throws BusinessException
  */
 public function updatePessoaJuridica(PessoaValueObject $voPessoa, PessoaJuridicaValueObject $voPessoaJuridica)
 {
     try {
         # efetua validação
         $this->_validatePessoaJuridica($voPessoa, $voPessoaJuridica);
         $sqPessoa = $voPessoa->getSqPessoa();
         BusinessException::throwsExceptionIfParamIsNull($sqPessoa, self::MISSING_KEY);
         # atualiza a pessoa Juridica
         $voPessoa->setSqTipoPessoa(self::TIPO_PESSOA_JURIDICA);
         PessoaBusiness::factory(NULL, 'libcorp')->update($voPessoa);
         # retira a máscara do CNPJ
         $voPessoaJuridica->setNuCnpj(preg_replace("/\\D+/", "", $voPessoaJuridica->getNuCnpj()));
         # Salva PessoaJuridica
         $voPessoaJuridica->setSqPessoa($sqPessoa);
         $this->getModelPersist('libcorp')->update($voPessoaJuridica);
         return $voPessoaJuridica;
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage(), $mExcp->getCode());
     }
 }
コード例 #8
0
 /**
  * Atualiza os Dados Bancarios
  *
  * @example DadoBancarioBusiness::updateDadosBancarios
  * @code
  * <?php
  *     # cria filtro usado por agencia
  *     $dadosBancariosVO   = ValueObjectAbstract::factory('fullnamespace');
  *     # outra forma de utilizar
  *     # $dadosBancariosVO = AgenciaValueObject::factory();
  *     $dadosBancariosVO->setSqDadoBancario(1);
  *
  *     # efetua atualizacao
  *     $dadosBancariosBusiness = DadoBancarioBusiness::factory();
  *     $dadosBancariosBusiness->updateDadosBancarios($dadosBancariosVO);
  * ?>
  * @endcode
  *
  * @param DadoBancarioValueObject $voDadoBancario
  * @return DadoBancarioValueObject
  * @throws BusinessException
  */
 public function updateDadoBancario(DadoBancarioValueObject $voDadoBancario)
 {
     try {
         $voTmp = self::factory(NULL, 'libcorp')->find($voDadoBancario->getSqDadoBancario());
         BusinessException::throwsExceptionIfParamIsNull($voTmp->getSqDadoBancario(), 'O identificador do dado bancário não foi informado');
         $voDadoBancario->copySaveObjectData($voTmp);
         $this->getModelPersist('libcorp')->update($voDadoBancario);
         return $voDadoBancario;
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage(), $mExcp->getCode());
     }
 }
コード例 #9
0
 /**
  * Atualiza os dados de Telefone
  *
  * @example TelefoneBusiness::updateTelefone
  * @code
  * <?php
  *     # cria filtro usado por agencia
  *     $voTelefone       = ValueObjectAbstract::factory('fullnamespace');
  *     # outra forma de utilizar
  *     # $voTelefone = TelefoneValueObject::factory();
  *     $voTelefone->setSqTelefone(1);
  *
  *     # efetua exclusao
  *     $telefoneBusiness = TelefoneBusiness::factory();
  *     $telefoneBusiness->updateTelefone($voTelefone);
  * ?>
  * @endcode
  *
  * @param TelefoneValueObject $voTelefone
  * @return TelefoneValueObject
  * @throws BusinessException
  */
 public function updateTelefone(TelefoneValueObject $voTelefone)
 {
     try {
         $voTmp = TelefoneBusiness::factory(NULL, 'libcorp')->find($voTelefone->getSqTelefone());
         BusinessException::throwsExceptionIfParamIsNull($voTmp->getSqTelefone(), self::IDENTIFIER_NOT_FOUND);
         $voTelefone->copySaveObjectData($voTmp);
         $this->getModelPersist('libcorp')->update($voTelefone);
         return $voTelefone;
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage());
     }
 }
コード例 #10
0
 /**
  * @example CadastroSemCPFBusiness::update
  * @code
  * <?php
  *     # cria filtro usado pelo Pessoa Fisica
  *     $cadastroVO       = ValueObjectAbstract::factory('fullnamespace');
  *     # outra forma de utilizar
  *     # $cadastroVO = CadastroSemCPFValueObject::factory();
  *     $cadastorVO->setSqPessoa(1);
  *
  *     # efetua alteracao dos dados
  *     $cadastroSemCPFBusiness = CadastroSemCPFBusiness::factory();
  *     $cadastrpBusiness->update($cadastroVO);
  * ?>
  * @endcode
  *
  * @param CadastroSemCPFValueObject $voCadastroSemCPF
  * @throws BusinessException
  */
 public function update(CadastroSemCPFValueObject $voCadastroSemCPF)
 {
     try {
         $this->_validateCadastro($voCadastroSemCPF);
         $voTmp = self::factory(NULL, 'libcorp')->find($voCadastroSemCPF->getSqCadastroSemCPF());
         BusinessException::throwsExceptionIfParamIsNull($voTmp->getSqCadastroSemCPF() && $voCadastroSemCPF->getSqPessoa(), 'Na atualização é obrigatório informar o ID da Pessoa a ser alterada');
         $voCadastroSemCPF->copySaveObjectData($voTmp);
         $this->getModelPersist('libcorp')->update($voCadastroSemCPF);
         return $voCadastroSemCPF;
     } catch (ModelException $mExcp) {
         throw new BusinessException($mExcp->getMessage());
     }
 }
コード例 #11
0
 /**
  * Recupera um método da business referente a controller em uso.
  *
  * @param Controller $target
  * @return BusinessAbstract
  * @throws BusinessException
  * @deprecated
  * @example ControllerAbstract::getBusiness
  * @code
  * <?php
  * ...
  *
  *  try {
  *      $this->getBusiness('save')
  *           ->setViewType('html')
  *           ->getView('sucess');
  *      } catch (Exception $exp) {
  *          $this->setViewType('html')
  *               ->getView('error');
  *      }
  *
  *  ...
  * ?>
  * @encode
  * */
 public function getBusiness($target = NULL)
 {
     $tmpBusinessTarget = $tmpNSBusiness = NULL;
     $target = $this->toggle($target, $this);
     $tmpArrNS = explode('controller' . self::NAMESPACE_SEPARATOR, $this->getClassName($target));
     $tmpBusinessTarget = $this->erReplace(array('Controller$' => 'Business'), (string) end($tmpArrNS));
     $tmpNSBusiness = $target->getNamespaceFuncionality() . self::NAMESPACE_SEPARATOR . 'mvcb' . self::NAMESPACE_SEPARATOR . 'business' . self::NAMESPACE_SEPARATOR . $tmpBusinessTarget;
     $fileClass = Location::realpathFromNamespace($tmpNSBusiness) . '.php';
     if (!is_file($fileClass)) {
         throw BusinessException::businessNotImplemented($tmpNSBusiness);
     }
     return BusinessAbstract::factory($tmpNSBusiness)->applicationRegister($this->_SIALApplication);
 }