public function salvarAction()
 {
     $form = $this->getDespesaForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $postData = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray());
         $form->setData($postData);
         if ($form->isValid()) {
             $objDespesa = new Despesa();
             $objDespesa->exchangeArray($form->getData());
             $retorno = $this->getDespesaTabela()->salvar($objDespesa);
             if ($retorno) {
                 $this->flashMessenger()->addSuccessMessage("Registro cadastrado com sucesso.");
                 return $this->redirect()->toRoute('despesa');
             } else {
                 $this->flashMessenger()->addErrorMessage("Erro ao salvar registro, tente novamente.");
             }
         }
     }
     $arrayCliente = $this->getClienteTabela()->buscarTodos(false);
     $arrayCategoria = $this->getDespesaCategoriaTabela()->buscarTodos(false);
     $arraySubcategoria = $this->getDespesaSubcategoriaTabela()->buscarTodos(false);
     $arrayContas = $this->getContaTabela()->buscarTodos(false);
     return array('form' => $form, 'clientes' => array_column($arrayCliente->toArray(), 'nome', 'id'), 'categorias' => array_column($arrayCategoria->toArray(), 'nome', 'id'), 'subcategorias' => array_column($arraySubcategoria->toArray(), 'nome', 'id'), 'contas' => array_column($arrayContas->toArray(), 'nome', 'id'));
 }