Ejemplo n.º 1
0
 public function removeField($fieldName)
 {
     $fieldIndex = array_search($fieldName, self::$tableFields);
     if ($fieldIndex !== false) {
         unset(self::$tableFields[$fieldIndex]);
         self::$tableFields = array_values(self::$tableFields);
     }
 }
 public function save($app = null)
 {
     if ($this->Id == '') {
         $invoices = Infusionsoft_DataService::query(new Infusionsoft_Invoice(), array('JobId' => $this->OrderId), 1000, 0, false, $app);
         if (count($invoices) == 0) {
             throw new Infusionsoft_Exception("Could not get invoice for order: " . $this->OrderId . " while creating adding an order item.");
         }
         /** @var Infusionsoft_Invoice $invoice */
         $invoice = array_shift($invoices);
         $result = Infusionsoft_InvoiceService::addOrderItem($invoice->Id, $this->ProductId, $this->ItemType, $this->PPU, $this->Qty, $this->ItemDescription, $this->Notes, $app);
         if (!$result) {
             throw new Infusionsoft_Exception("Couldn't save orderitem: " . json_encode($this->toArray()));
         }
         //Infusionsoft doesn't always use consecutive Ids, but it is very very very rare that the id won't be consecutive if a new record is inserted very quickly after the previous, so even though this isn't ideal, it's what we are doing.
         $newestOrderItems = Infusionsoft_DataService::queryWithOrderBy(new Infusionsoft_OrderItem(), array('OrderId' => $this->OrderId), 'Id', false, 1);
         $newestOrderItem = array_shift($newestOrderItems);
         $this->Id = $newestOrderItem->Id;
     }
     $result = parent::save($app);
     return $result;
 }
Ejemplo n.º 3
0
 public function __construct($id = null, $app = null)
 {
     parent::__construct($id, $app);
 }