예제 #1
0
 public function salvar(Conta $objContaForm)
 {
     $arrayDados = array_filter($objContaForm->getArrayCopy());
     $data = new \DateTime('now', new \DateTimeZone('America/Sao_Paulo'));
     $id = (int) $objContaForm->getId();
     if (!empty($objContaForm->getSaldo())) {
         if (substr_count($objContaForm->getSaldo(), ',') > 0) {
             $arrayDados['saldo'] = str_replace(['.', ','], ['', '.'], $objContaForm->getSaldo());
         }
     } else {
         $arrayDados['saldo'] = '0.00';
     }
     if ($id == 0) {
         $arrayDados['criado'] = $data->format("Y-m-d H:i:s");
         $arrayDados['modificado'] = $data->format("Y-m-d H:i:s");
         return $this->insert($arrayDados);
     } else {
         if ($this->buscarUm($id)) {
             $arrayDados['modificado'] = $data->format("Y-m-d H:i:s");
             return $this->update($arrayDados, array('id' => $id));
         }
         throw new \Exception('Registro não encontrado.');
     }
 }
예제 #2
0
 public function salvarAction()
 {
     $form = $this->getContaForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $conta = new Conta();
             $conta->exchangeArray($form->getData());
             $retorno = $this->getContaTabela()->salvar($conta);
             if ($retorno) {
                 $this->flashMessenger()->addSuccessMessage("Registro cadastrado com sucesso.");
                 return $this->redirect()->toRoute('conta');
             } else {
                 $this->flashMessenger()->addErrorMessage("Erro ao salvar registro, tente novamente.");
             }
         }
     }
     $arrayTipo = $this->getTipoTabela()->buscarTodos(false);
     $arrayCliente = $this->getClienteTabela()->buscarTodos(false);
     return array('form' => $form, 'fk_tipo' => array_column($arrayTipo->toArray(), 'nome', 'id'), 'fk_cliente' => array_column($arrayCliente->toArray(), 'nome', 'id'));
 }