/**
  * Add Client Expense Process
  */
 public function processAddClientExpenseAction()
 {
     if (!$this->_request->isXmlHttpRequest() || !$this->_request->isPost()) {
         $this->_redirector->gotoRoute(array('controller' => 'index', 'module' => 'clients'), 'admin');
     }
     $return = array();
     $clientExpenseGateway = new Clients_Model_ClientExpenseGateway();
     $form = $clientExpenseGateway->getForm('CreateClientExpense');
     $validForm = $form->isValid($this->_request->getParams());
     // Check the form for validity
     if (!$validForm) {
         $return['formErrors'] = $form->getMessages();
     } else {
         $formData = $form->getValues();
         $formData['client_expense_payoffdate'] = $this->_dateFormatter->saveDateFormat($formData['client_expense_payoffdate'], $formData['altPayOffDate']);
         unset($formData['altPayOffDate']);
         $clientExpense = $clientExpenseGateway->create($formData);
         $clientExpenseId = $clientExpense->save();
         $clientExpense = $clientExpenseGateway->fetchClientExpense($clientExpenseId);
         if (is_object($clientExpense)) {
             $clientExpense = $clientExpense->toArray();
         }
         $clientExpense['client_expense_payoffdate'] = $this->_dateFormatter->viewDateFormat($clientExpense['client_expense_payoffdate']);
         $flashMessenger = $this->_helper->getHelper('FlashMessenger');
         $flashMessenger->setNamespace('notifications')->addMessage('Client Expense Added');
         $return = array('append' => array('target' => '#clientExpense', 'content' => $this->view->partial('partials/_clientExpenseRow.phtml', 'clients', $clientExpense)), 'refresh' => true);
         $return['callback'] = '$("#add-expense-dialog").dialog("close");';
     }
     $this->_helper->json->sendJson($return);
 }