/** * Exclui item */ public function onDelete($param) { // lê variável $list da seção $list = Session::getValue('list'); // exclui a posição que armazena o produto de código unset($list[$param['id_produto']]); // grava variável $list de volta à seção Session::setValue('list', $list); // recarrega a listagem $this->onReload(); }
/** * 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()); } }
/** * Logout */ public function onLogout($param) { Session::setValue('logged', FALSE); echo "<script language='JavaScript'> window.location = 'index.php'; </script>"; }