public function deleteProfile(\Core_Dto_Mapping $mapping) { $criteria = array('sqUsuario' => $mapping->getUsuario(), 'sqUnidadeOrgPessoa' => $mapping->getUnidade(), 'sqPerfil' => $mapping->getPerfil()); $perfis = $this->_getRepository('app:UsuarioPerfil')->findBy($criteria); foreach ($perfis as $perfil) { $this->getEntityManager()->remove($perfil); $this->getEntityManager()->flush(); } if (!$this->getServiceLocator()->getService('UsuarioPerfil')->findBy(array('sqUsuario' => $mapping->getUsuario()))) { $entity = $this->find($mapping->getUsuario()); $this->getEntityManager()->persist($entity); $this->getEntityManager()->flush($entity); } }
public function getProfilesByUnit(\Core_Dto_Mapping $mapping) { $queryBuilder = $this->_em->createQueryBuilder(); $queryBuilder->select('p.sqPerfil')->from($this->_entityName, 'up')->innerJoin('up.sqPerfil', 'p')->where('up.sqUnidadeOrgPessoa = :sqUnidadeOrg')->andWhere('up.sqUsuario = :usuario')->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', 'FALSE'))->setParameter('sqUnidadeOrg', $mapping->getUnidade())->setParameter('usuario', $mapping->getUsuario()); return $queryBuilder->getQuery()->getArrayResult(); }
public function getDataMail(\Core_Dto_Mapping $mapping, $perfis) { $tipoEmailInstituicional = \Core_Configuration::getCorpTipoEmailInstitucional(); $queryBuilder = $this->_em->createQueryBuilder(); $queryBuilder->select('p.noPessoa, e.txEmail')->from($this->_entityName, 'u')->innerJoin('u.sqPessoa', 'p')->innerJoin('p.email', 'e', 'WITH', $queryBuilder->expr()->eq('e.sqTipoEmail', ':tipoEmail'))->where($queryBuilder->expr()->eq('u.sqUsuario', ':usuario'))->setParameter('usuario', $mapping->getUsuario())->setParameter('tipoEmail', $tipoEmailInstituicional, 'integer'); $data['usuario'] = $queryBuilder->getQuery()->getSingleResult(); $queryBuilder = $this->_em->createQueryBuilder(); $arrPerfil = array(); foreach ($perfis as $value) { $arrPerfil[] = $value->getSqPerfil(); } $queryBuilder->select('p.noPerfil, s.sgSistema, s.noSistema')->from('app:UsuarioPerfil', 'up')->innerJoin('up.sqPerfil', 'p')->innerJoin('p.sqSistema', 's')->innerJoin('up.sqUnidadeOrgPessoa', 'u')->where($queryBuilder->expr()->eq('up.sqUsuario', ':usuario'))->setParameter('usuario', $mapping->getUsuario())->andWhere('u.sqUnidadeOrgPessoa = :sqUnidadeOrgPessoa')->setParameter('sqUnidadeOrgPessoa', $mapping->getUnidade())->andWhere($queryBuilder->expr()->in('p.sqPerfil', $arrPerfil)); $data['perfis'] = $queryBuilder->getQuery()->getArrayResult(); return $data; }