Ejemplo n.º 1
0
 /**
  * Carrega datagrid com objetos
  */
 public function onReload()
 {
     // obtém a variável de seção $list
     $list = Session::getValue('list');
     // limpa a datagrid
     $this->datagrid->clear();
     if ($list) {
         foreach ($list as $item) {
             // adiciona cada objeto $item na datagrid
             $this->datagrid->addItem($item);
         }
     }
     $this->loaded = true;
 }
Ejemplo n.º 2
0
 /**
  * Grava venda
  */
 public function onGravaVenda()
 {
     try {
         // inicia transação com o banco 'livro'
         Transaction::open('livro');
         $dados = $this->form->getData();
         $cliente = Pessoa::find($dados->id_cliente);
         if (!$cliente) {
             throw new Exception('Cliente não encontrado');
         }
         if ($cliente->totalDebitos() > 0) {
             throw new Exception('Débitos impedem esta operação');
         }
         $venda = new Venda();
         $venda->cliente = $cliente;
         $venda->data_venda = date('Y-m-d');
         $venda->valor_venda = $dados->valor_venda;
         $venda->desconto = $dados->desconto;
         $venda->acrescimos = $dados->acrescimos;
         $venda->valor_final = $dados->valor_final;
         $venda->obs = $dados->obs;
         // lê a variável $list da seção
         $itens = Session::getValue('list');
         if ($itens) {
             // percorre os itens
             foreach ($itens as $item) {
                 // adiciona o item na venda
                 $venda->addItem(new Produto($item->id_produto), $item->quantidade);
             }
         }
         $venda->store();
         // armazena venda no banco de dados
         // gera o financeiro
         Conta::geraParcelas($dados->id_cliente, 2, $dados->valor_final, $dados->parcelas);
         Transaction::close();
         // finaliza a transação
         Session::setValue('list', array());
         // limpa lista de itens da seção
         // exibe mensagem de sucesso
         new Message('info', 'Venda registrada com sucesso');
     } catch (Exception $e) {
         new Message('error', $e->getMessage());
     }
 }
Ejemplo n.º 3
0
 /**
  * Logout
  */
 public function onLogout($param)
 {
     Session::setValue('logged', FALSE);
     echo "<script language='JavaScript'> window.location = 'index.php'; </script>";
 }