public function save(ReceiveInventory $receiveInventory) { $data = array('register_date' => date("Y-m-d H:i:s", time()), 'user' => $receiveInventory->getUser(), 'customer' => $receiveInventory->getCustomer(), 'payment_method' => $receiveInventory->getPaymentMethod(), 'shipment' => $receiveInventory->getShipment(), 'guide' => $receiveInventory->getGuideNumber(), 'invoice' => $receiveInventory->getInvoice(), 'invoice_file' => $receiveInventory->getInvoiceFile(), 'observations' => $receiveInventory->getObservation()); $id = (int) $receiveInventory->getId(); $params = array(); $params['table'] = $this->tableGateway->getTableName(); $params['operation'] = 1; $params['data'] = json_encode($data); if ($id == 0) { $this->tableGateway->insert($data); $id = $this->tableGateway->getLastInsertValue(); if ($id) { $params['id'] = $id; $this->featureSet->getEventManager()->trigger("log.save", $this, $params); return $id; } else { return false; } } else { if ($this->get($id)) { $params['id'] = $id; $params['operation'] = 2; $this->featureSet->getEventManager()->trigger("log.save", $this, $params); $this->tableGateway->update($data, array('id' => $id)); return $id; } else { return false; } } }