public function save(PAP_Model_Charge $charge) { $data = array('user_id' => $charge->getUserId(), 'period' => $charge->getPeriod(), 'amount' => $charge->getAmount(), 'final_amount' => $charge->getFinalAmount(), 'discount' => $charge->getDiscount(), 'status' => $charge->getStatus(), 'created' => date('Y-m-d H:i:s')); try { if (null === ($id = $charge->getId())) { unset($data['charge_id']); $this->getDbTable()->insert($data); } else { $this->getDbTable()->update($data, array('charge_id = ?' => $id)); } } catch (Exception $ex) { //TODO 6: Loguear intento de inserción duplicado } }