public function addOrderItem($args) { //Remove Api Key array_shift($args); list($invoiceId, $productId, $type, $price, $quantity, $description, $notes) = $args; $invoice = new Infusionsoft_Invoice($invoiceId); $product = new Infusionsoft_Product($productId); $orderItem = new Infusionsoft_OrderItem(); $orderItem->CPU = $product->ProductPrice; $orderItem->PPU = $price; $orderItem->Qty = $quantity; $orderItem->ItemDescription = $description; $orderItem->Notes = $notes; $orderItem->ProductId = $productId; $orderItem->ItemType = $type; $orderItem->OrderId = $invoice->JobId; $app = Infusionsoft_AppPool::getApp(''); $orderItem->Id = $app->data->add(array($orderItem->getTable(), $orderItem->toArray())); Infusionsoft_SdkEventManager::dispatch(new Infusionsoft_SdkEvent($orderItem, array('result' => $orderItem)), 'DataObject.Saved'); $total = $orderItem->PPU * $orderItem->Qty; $invoiceItem = new Infusionsoft_InvoiceItem(); $invoiceItem->OrderItemId = $orderItem->Id; $invoiceItem->InvoiceId = $invoice->Id; $invoiceItem->InvoiceAmt = $total; $invoiceItem->save(); $invoice->InvoiceTotal = floatval($invoice->InvoiceTotal) + $total; $invoice->TotalDue = floatval($invoice->TotalDue) + $total; $invoice->save(); return true; }
public function delete($app = null) { if ($this->Id > 0) { $result = Infusionsoft_DataService::delete($this, $this->Id, $app); Infusionsoft_SdkEventManager::dispatch(new Infusionsoft_SdkEvent($this, array('result' => $result)), 'DataObject.Deleted'); } else { throw new Infusionsoft_Exception("Trying to delete a blank contact"); } return $result; }
<?php include '../infusionsoft.php'; include 'object_editor_all_tables.php'; include '../tests/testUtils.php'; Infusionsoft_SdkEventManager::attach('loaded', "DataObject.Loaded"); Infusionsoft_SdkEventManager::attach('deleted', "DataObject.Deleted"); Infusionsoft_SdkEventManager::attach('saved', "DataObject.Saved"); Infusionsoft_SdkEventManager::attach('saved2', "DataObject.Saved"); $contact = new Infusionsoft_Contact(); $contact->FirstName = 'TEST'; $contact->save(); $contact2 = new Infusionsoft_Contact($contact->Id); $contact2->delete(); function loaded($event) { echo 'Loaded!<br/>'; } function deleted(Infusionsoft_SdkEvent $event) { echo 'Deleted!<br/>'; } function saved(Infusionsoft_SdkEvent $event) { echo 'Saved!<br/>'; } function saved2(Infusionsoft_SdkEvent $event) { echo 'Saved2!<br/>'; }