/** * Carrega a DataGrid com os objetos */ function onReload() { try { Transaction::open($this->connection); $repository = new Repository($this->activeRecord); // cria um critério de seleção de dados $criteria = new Criteria(); $criteria->setProperty('order', 'id'); if (isset($this->filter)) { $criteria->add($this->filter); } // carreta os objetos que satisfazem o critério $objects = $repository->load($criteria); $this->datagrid->clear(); if ($objects) { foreach ($objects as $object) { // adiciona o objeto na DataGrid $this->datagrid->addItem($object); } } Transaction::close(); } catch (Exception $e) { new Message($e->getMessage()); } }
public static function getByPessoa($id_pessoa) { $criteria = new Criteria(); $criteria->add(new Filter('paga', '<>', 'S')); $criteria->add(new Filter('id_cliente', '=', $id_pessoa)); $repo = new Repository('Conta'); return $repo->load($criteria); }
/** * Gera o relatório, baseado nos parâmetros do formulário */ public function onGera() { require_once 'Lib/Twig/Autoloader.php'; Twig_Autoloader::register(); $loader = new Twig_Loader_Filesystem('App/Resources'); $twig = new Twig_Environment($loader); $template = $twig->loadTemplate('contas_report.html'); // obtém os dados do formulário $dados = $this->form->getData(); // joga os dados de volta ao formulário $this->form->setData($dados); $conv_data_to_us = function ($data) { $dia = substr($data, 0, 2); $mes = substr($data, 3, 2); $ano = substr($data, 6, 4); return "{$ano}-{$mes}-{$dia}"; }; // lê os campos do formulário, converte para o padrão americano $data_ini = $conv_data_to_us($dados->data_ini); $data_fim = $conv_data_to_us($dados->data_fim); // vetor de parâmetros para o template $replaces = array(); $replaces['data_ini'] = $dados->data_ini; $replaces['data_fim'] = $dados->data_fim; try { // inicia transação com o banco 'livro' Transaction::open('livro'); // instancia um repositório da classe Conta $repositorio = new Repository('Conta'); // cria um critério de seleção por intervalo de datas $criterio = new Criteria(); $criterio->setProperty('order', 'dt_vencimento'); if ($dados->data_ini) { $criterio->add(new Filter('dt_vencimento', '>=', $data_ini)); } if ($dados->data_fim) { $criterio->add(new Filter('dt_vencimento', '<=', $data_fim)); } // lê todas contas que satisfazem ao critério $contas = $repositorio->load($criterio); if ($contas) { foreach ($contas as $conta) { $conta_array = $conta->toArray(); $conta_array['nome_cliente'] = $conta->cliente->nome; $replaces['contas'][] = $conta_array; } } // finaliza a transação Transaction::close(); } catch (Exception $e) { new Message('error', $e->getMessage()); Transaction::rollback(); } $content = $template->render($replaces); parent::add($content); }
public function get_itens() { // instancia um repositóio de Item $repositorio = new Repository('ItemVenda'); // define o critério $criterio = new Criteria(); $criterio->add(new Filter('id_venda', '=', $this->id)); // carrega a coleção $this->itens = $repositorio->load($criterio); // retorna os itens return $this->itens; }
/** * Retorna os grupos da pessoa */ public function getGrupos() { $grupos = array(); $criteria = new Criteria(); $criteria->add(new Filter('id_pessoa', '=', $this->id)); $repo = new Repository('PessoaGrupo'); $vinculos = $repo->load($criteria); if ($vinculos) { foreach ($vinculos as $vinculo) { $grupos[] = new Grupo($vinculo->id_grupo); } } return $grupos; }
/** * Carrega a Datagrid com os objetos do banco de dados */ public function onReload() { Transaction::open('livro'); // inicia transação com o BD $repository = new Repository('Pessoa'); // cria um critério de seleção de dados $criteria = new Criteria(); $criteria->setProperty('order', 'id'); // obtém os dados do formulário de buscas $dados = $this->form->getData(); // verifica se o usuário preencheu o formulário if ($dados->nome) { // filtra pelo nome do pessoa $criteria->add(new Filter('nome', 'like', "%{$dados->nome}%")); } // carrega os produtos que satisfazem o critério $pessoas = $repository->load($criteria); $this->datagrid->clear(); if ($pessoas) { foreach ($pessoas as $pessoa) { // adiciona o objeto na Datagrid $this->datagrid->addItem($pessoa); } } // finaliza a transação Transaction::close(); $this->loaded = true; }
public function listar() { try { Transaction::open('livro'); $criteria = new Criteria(); $criteria->setProperty('order', 'id'); $repository = new Repository('Cidade'); $cidades = $repository->load($criteria); if ($cidades) { foreach ($cidades as $cidade) { print "{$cidade->id} - {$cidade->nome}<br>"; } } Transaction::close(); } catch (Exception $e) { print $e->getMessage(); } }
/** * Retorna todos objetos */ public static function all() { $classname = get_called_class(); $rep = new Repository($classname); return $rep->load(new Criteria()); }