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.'); } }
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')); }