protected function SetupContact() { // Lookup Object PK information from Query String (if applicable) // Set mode to Edit or New depending on what's found $intContactId = QApplication::QueryString('intContactId'); if ($intContactId) { $this->objContact = Contact::Load($intContactId); if (!$this->objContact) { throw new Exception('Could not find a Contact object with PK arguments: ' . $intContactId); } $this->strTitleVerb = QApplication::Translate('Edit'); $this->blnEditMode = true; } else { $this->objContact = new Contact(); $this->strTitleVerb = QApplication::Translate('Create'); $this->blnEditMode = false; } }
/** * Override method to perform a property "Get" * This will get the value of $strName * * @param string $strName Name of the property to get * @return mixed */ public function __get($strName) { switch ($strName) { /////////////////// // Member Variables /////////////////// case 'ShipmentId': /** * Gets the value for intShipmentId (Read-Only PK) * @return integer */ return $this->intShipmentId; case 'ShipmentNumber': /** * Gets the value for strShipmentNumber (Unique) * @return string */ return $this->strShipmentNumber; case 'TransactionId': /** * Gets the value for intTransactionId (Unique) * @return integer */ return $this->intTransactionId; case 'FromCompanyId': /** * Gets the value for intFromCompanyId (Not Null) * @return integer */ return $this->intFromCompanyId; case 'FromContactId': /** * Gets the value for intFromContactId (Not Null) * @return integer */ return $this->intFromContactId; case 'FromAddressId': /** * Gets the value for intFromAddressId (Not Null) * @return integer */ return $this->intFromAddressId; case 'ToCompanyId': /** * Gets the value for intToCompanyId (Not Null) * @return integer */ return $this->intToCompanyId; case 'ToContactId': /** * Gets the value for intToContactId (Not Null) * @return integer */ return $this->intToContactId; case 'ToAddressId': /** * Gets the value for intToAddressId (Not Null) * @return integer */ return $this->intToAddressId; case 'CourierId': /** * Gets the value for intCourierId * @return integer */ return $this->intCourierId; case 'TrackingNumber': /** * Gets the value for strTrackingNumber * @return string */ return $this->strTrackingNumber; case 'ShipDate': /** * Gets the value for dttShipDate (Not Null) * @return QDateTime */ return $this->dttShipDate; case 'ShippedFlag': /** * Gets the value for blnShippedFlag * @return boolean */ return $this->blnShippedFlag; case 'CreatedBy': /** * Gets the value for intCreatedBy * @return integer */ return $this->intCreatedBy; case 'CreationDate': /** * Gets the value for dttCreationDate * @return QDateTime */ return $this->dttCreationDate; case 'ModifiedBy': /** * Gets the value for intModifiedBy * @return integer */ return $this->intModifiedBy; case 'ModifiedDate': /** * Gets the value for strModifiedDate (Read-Only Timestamp) * @return string */ return $this->strModifiedDate; /////////////////// // Member Objects /////////////////// /////////////////// // Member Objects /////////////////// case 'Transaction': /** * Gets the value for the Transaction object referenced by intTransactionId (Unique) * @return Transaction */ try { if (!$this->objTransaction && !is_null($this->intTransactionId)) { $this->objTransaction = Transaction::Load($this->intTransactionId); } return $this->objTransaction; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromCompany': /** * Gets the value for the Company object referenced by intFromCompanyId (Not Null) * @return Company */ try { if (!$this->objFromCompany && !is_null($this->intFromCompanyId)) { $this->objFromCompany = Company::Load($this->intFromCompanyId); } return $this->objFromCompany; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromContact': /** * Gets the value for the Contact object referenced by intFromContactId (Not Null) * @return Contact */ try { if (!$this->objFromContact && !is_null($this->intFromContactId)) { $this->objFromContact = Contact::Load($this->intFromContactId); } return $this->objFromContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromAddress': /** * Gets the value for the Address object referenced by intFromAddressId (Not Null) * @return Address */ try { if (!$this->objFromAddress && !is_null($this->intFromAddressId)) { $this->objFromAddress = Address::Load($this->intFromAddressId); } return $this->objFromAddress; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToCompany': /** * Gets the value for the Company object referenced by intToCompanyId (Not Null) * @return Company */ try { if (!$this->objToCompany && !is_null($this->intToCompanyId)) { $this->objToCompany = Company::Load($this->intToCompanyId); } return $this->objToCompany; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToContact': /** * Gets the value for the Contact object referenced by intToContactId (Not Null) * @return Contact */ try { if (!$this->objToContact && !is_null($this->intToContactId)) { $this->objToContact = Contact::Load($this->intToContactId); } return $this->objToContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToAddress': /** * Gets the value for the Address object referenced by intToAddressId (Not Null) * @return Address */ try { if (!$this->objToAddress && !is_null($this->intToAddressId)) { $this->objToAddress = Address::Load($this->intToAddressId); } return $this->objToAddress; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'Courier': /** * Gets the value for the Courier object referenced by intCourierId * @return Courier */ try { if (!$this->objCourier && !is_null($this->intCourierId)) { $this->objCourier = Courier::Load($this->intCourierId); } return $this->objCourier; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'CreatedByObject': /** * Gets the value for the UserAccount object referenced by intCreatedBy * @return UserAccount */ try { if (!$this->objCreatedByObject && !is_null($this->intCreatedBy)) { $this->objCreatedByObject = UserAccount::Load($this->intCreatedBy); } return $this->objCreatedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ModifiedByObject': /** * Gets the value for the UserAccount object referenced by intModifiedBy * @return UserAccount */ try { if (!$this->objModifiedByObject && !is_null($this->intModifiedBy)) { $this->objModifiedByObject = UserAccount::Load($this->intModifiedBy); } return $this->objModifiedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// case '_FedexShipment': /** * Gets the value for the private _objFedexShipment (Read-Only) * if set due to an expansion on the fedex_shipment.shipment_id reverse relationship * @return FedexShipment */ return $this->_objFedexShipment; case '_FedexShipmentArray': /** * Gets the value for the private _objFedexShipmentArray (Read-Only) * if set due to an ExpandAsArray on the fedex_shipment.shipment_id reverse relationship * @return FedexShipment[] */ return (array) $this->_objFedexShipmentArray; default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } }
/** * Override method to perform a property "Get" * This will get the value of $strName * * @param string $strName Name of the property to get * @return mixed */ public function __get($strName) { switch ($strName) { /////////////////// // Member Variables /////////////////// case 'ReceiptId': /** * Gets the value for intReceiptId (Read-Only PK) * @return integer */ return $this->intReceiptId; case 'TransactionId': /** * Gets the value for intTransactionId (Unique) * @return integer */ return $this->intTransactionId; case 'FromCompanyId': /** * Gets the value for intFromCompanyId (Not Null) * @return integer */ return $this->intFromCompanyId; case 'FromContactId': /** * Gets the value for intFromContactId (Not Null) * @return integer */ return $this->intFromContactId; case 'ToContactId': /** * Gets the value for intToContactId (Not Null) * @return integer */ return $this->intToContactId; case 'ToAddressId': /** * Gets the value for intToAddressId (Not Null) * @return integer */ return $this->intToAddressId; case 'ReceiptNumber': /** * Gets the value for strReceiptNumber (Unique) * @return string */ return $this->strReceiptNumber; case 'DueDate': /** * Gets the value for dttDueDate * @return QDateTime */ return $this->dttDueDate; case 'ReceiptDate': /** * Gets the value for dttReceiptDate * @return QDateTime */ return $this->dttReceiptDate; case 'ReceivedFlag': /** * Gets the value for blnReceivedFlag * @return boolean */ return $this->blnReceivedFlag; case 'CreatedBy': /** * Gets the value for intCreatedBy * @return integer */ return $this->intCreatedBy; case 'CreationDate': /** * Gets the value for dttCreationDate * @return QDateTime */ return $this->dttCreationDate; case 'ModifiedBy': /** * Gets the value for intModifiedBy * @return integer */ return $this->intModifiedBy; case 'ModifiedDate': /** * Gets the value for strModifiedDate (Read-Only Timestamp) * @return string */ return $this->strModifiedDate; /////////////////// // Member Objects /////////////////// /////////////////// // Member Objects /////////////////// case 'Transaction': /** * Gets the value for the Transaction object referenced by intTransactionId (Unique) * @return Transaction */ try { if (!$this->objTransaction && !is_null($this->intTransactionId)) { $this->objTransaction = Transaction::Load($this->intTransactionId); } return $this->objTransaction; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromCompany': /** * Gets the value for the Company object referenced by intFromCompanyId (Not Null) * @return Company */ try { if (!$this->objFromCompany && !is_null($this->intFromCompanyId)) { $this->objFromCompany = Company::Load($this->intFromCompanyId); } return $this->objFromCompany; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromContact': /** * Gets the value for the Contact object referenced by intFromContactId (Not Null) * @return Contact */ try { if (!$this->objFromContact && !is_null($this->intFromContactId)) { $this->objFromContact = Contact::Load($this->intFromContactId); } return $this->objFromContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToContact': /** * Gets the value for the Contact object referenced by intToContactId (Not Null) * @return Contact */ try { if (!$this->objToContact && !is_null($this->intToContactId)) { $this->objToContact = Contact::Load($this->intToContactId); } return $this->objToContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToAddress': /** * Gets the value for the Address object referenced by intToAddressId (Not Null) * @return Address */ try { if (!$this->objToAddress && !is_null($this->intToAddressId)) { $this->objToAddress = Address::Load($this->intToAddressId); } return $this->objToAddress; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'CreatedByObject': /** * Gets the value for the UserAccount object referenced by intCreatedBy * @return UserAccount */ try { if (!$this->objCreatedByObject && !is_null($this->intCreatedBy)) { $this->objCreatedByObject = UserAccount::Load($this->intCreatedBy); } return $this->objCreatedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ModifiedByObject': /** * Gets the value for the UserAccount object referenced by intModifiedBy * @return UserAccount */ try { if (!$this->objModifiedByObject && !is_null($this->intModifiedBy)) { $this->objModifiedByObject = UserAccount::Load($this->intModifiedBy); } return $this->objModifiedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } }
protected function lstFromContact_Select() { if ($this->lstFromContact->SelectedValue) { $objContact = Contact::Load($this->lstFromContact->SelectedValue); } }
/** * Override method to perform a property "Get" * This will get the value of $strName * * @param string $strName Name of the property to get * @return mixed */ public function __get($strName) { switch ($strName) { /////////////////// // Member Variables /////////////////// case 'ShipmentId': // Gets the value for intShipmentId (Read-Only PK) // @return integer return $this->intShipmentId; case 'ShipmentNumber': // Gets the value for strShipmentNumber (Unique) // @return string return $this->strShipmentNumber; case 'TransactionId': // Gets the value for intTransactionId (Unique) // @return integer return $this->intTransactionId; case 'FromCompanyId': // Gets the value for intFromCompanyId (Not Null) // @return integer return $this->intFromCompanyId; case 'FromContactId': // Gets the value for intFromContactId (Not Null) // @return integer return $this->intFromContactId; case 'FromAddressId': // Gets the value for intFromAddressId (Not Null) // @return integer return $this->intFromAddressId; case 'ToCompanyId': // Gets the value for intToCompanyId (Not Null) // @return integer return $this->intToCompanyId; case 'ToContactId': // Gets the value for intToContactId (Not Null) // @return integer return $this->intToContactId; case 'ToAddressId': // Gets the value for intToAddressId (Not Null) // @return integer return $this->intToAddressId; case 'CourierId': // Gets the value for intCourierId // @return integer return $this->intCourierId; case 'TrackingNumber': // Gets the value for strTrackingNumber // @return string return $this->strTrackingNumber; case 'ShipDate': // Gets the value for dttShipDate (Not Null) // @return QDateTime return $this->dttShipDate; case 'ShippedFlag': // Gets the value for blnShippedFlag // @return boolean return $this->blnShippedFlag; case 'CreatedBy': // Gets the value for intCreatedBy // @return integer return $this->intCreatedBy; case 'CreationDate': // Gets the value for dttCreationDate // @return QDateTime return $this->dttCreationDate; case 'ModifiedBy': // Gets the value for intModifiedBy // @return integer return $this->intModifiedBy; case 'ModifiedDate': // Gets the value for strModifiedDate (Read-Only Timestamp) // @return string return $this->strModifiedDate; /////////////////// // Member Objects /////////////////// /////////////////// // Member Objects /////////////////// case 'Transaction': // Gets the value for the Transaction object referenced by intTransactionId (Unique) // @return Transaction try { if (!$this->objTransaction && !is_null($this->intTransactionId)) { $this->objTransaction = Transaction::Load($this->intTransactionId); } return $this->objTransaction; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromCompany': // Gets the value for the Company object referenced by intFromCompanyId (Not Null) // @return Company try { if (!$this->objFromCompany && !is_null($this->intFromCompanyId)) { $this->objFromCompany = Company::Load($this->intFromCompanyId); } return $this->objFromCompany; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromContact': // Gets the value for the Contact object referenced by intFromContactId (Not Null) // @return Contact try { if (!$this->objFromContact && !is_null($this->intFromContactId)) { $this->objFromContact = Contact::Load($this->intFromContactId); } return $this->objFromContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'FromAddress': // Gets the value for the Address object referenced by intFromAddressId (Not Null) // @return Address try { if (!$this->objFromAddress && !is_null($this->intFromAddressId)) { $this->objFromAddress = Address::Load($this->intFromAddressId); } return $this->objFromAddress; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToCompany': // Gets the value for the Company object referenced by intToCompanyId (Not Null) // @return Company try { if (!$this->objToCompany && !is_null($this->intToCompanyId)) { $this->objToCompany = Company::Load($this->intToCompanyId); } return $this->objToCompany; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToContact': // Gets the value for the Contact object referenced by intToContactId (Not Null) // @return Contact try { if (!$this->objToContact && !is_null($this->intToContactId)) { $this->objToContact = Contact::Load($this->intToContactId); } return $this->objToContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToAddress': // Gets the value for the Address object referenced by intToAddressId (Not Null) // @return Address try { if (!$this->objToAddress && !is_null($this->intToAddressId)) { $this->objToAddress = Address::Load($this->intToAddressId); } return $this->objToAddress; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'Courier': // Gets the value for the Courier object referenced by intCourierId // @return Courier try { if (!$this->objCourier && !is_null($this->intCourierId)) { $this->objCourier = Courier::Load($this->intCourierId); } return $this->objCourier; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'CreatedByObject': // Gets the value for the UserAccount object referenced by intCreatedBy // @return UserAccount try { if (!$this->objCreatedByObject && !is_null($this->intCreatedBy)) { $this->objCreatedByObject = UserAccount::Load($this->intCreatedBy); } return $this->objCreatedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ModifiedByObject': // Gets the value for the UserAccount object referenced by intModifiedBy // @return UserAccount try { if (!$this->objModifiedByObject && !is_null($this->intModifiedBy)) { $this->objModifiedByObject = UserAccount::Load($this->intModifiedBy); } return $this->objModifiedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ShipmentCustomFieldHelper': // Gets the value for the ShipmentCustomFieldHelper object that uniquely references this Shipment // by objShipmentCustomFieldHelper (Unique) // @return ShipmentCustomFieldHelper try { if ($this->objShipmentCustomFieldHelper === false) { // We've attempted early binding -- and the reverse reference object does not exist return null; } if (!$this->objShipmentCustomFieldHelper) { $this->objShipmentCustomFieldHelper = ShipmentCustomFieldHelper::LoadByShipmentId($this->intShipmentId); } return $this->objShipmentCustomFieldHelper; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// case '__Restored': return $this->__blnRestored; default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } }
/** * Static Helper Method to Create using PK arguments * You must pass in the PK arguments on an object to load, or leave it blank to create a new one. * If you want to load via QueryString or PathInfo, use the CreateFromQueryString or CreateFromPathInfo * static helper methods. Finally, specify a CreateType to define whether or not we are only allowed to * edit, or if we are also allowed to create a new one, etc. * * @param mixed $objParentObject QForm or QPanel which will be using this ContactMetaControl * @param integer $intContactId primary key value * @param QMetaControlCreateType $intCreateType rules governing Contact object creation - defaults to CreateOrEdit * @return ContactMetaControl */ public static function Create($objParentObject, $intContactId = null, $intCreateType = QMetaControlCreateType::CreateOrEdit) { // Attempt to Load from PK Arguments if (strlen($intContactId)) { $objContact = Contact::Load($intContactId); // Contact was found -- return it! if ($objContact) { return new ContactMetaControl($objParentObject, $objContact); } else { if ($intCreateType != QMetaControlCreateType::CreateOnRecordNotFound) { throw new QCallerException('Could not find a Contact object with PK arguments: ' . $intContactId); } } // If EditOnly is specified, throw an exception } else { if ($intCreateType == QMetaControlCreateType::EditOnly) { throw new QCallerException('No PK arguments specified'); } } // If we are here, then we need to create a new record return new ContactMetaControl($objParentObject, new Contact()); }
/** * Reload this Contact from the database. * @return void */ public function Reload() { // Make sure we are actually Restored from the database if (!$this->__blnRestored) { throw new QCallerException('Cannot call Reload() on a new, unsaved Contact object.'); } // Reload the Object $objReloaded = Contact::Load($this->intContactId); // Update $this's local variables to match $this->CompanyId = $objReloaded->CompanyId; $this->AddressId = $objReloaded->AddressId; $this->strFirstName = $objReloaded->strFirstName; $this->strLastName = $objReloaded->strLastName; $this->strTitle = $objReloaded->strTitle; $this->strEmail = $objReloaded->strEmail; $this->strPhoneOffice = $objReloaded->strPhoneOffice; $this->strPhoneHome = $objReloaded->strPhoneHome; $this->strPhoneMobile = $objReloaded->strPhoneMobile; $this->strFax = $objReloaded->strFax; $this->strDescription = $objReloaded->strDescription; $this->CreatedBy = $objReloaded->CreatedBy; $this->dttCreationDate = $objReloaded->dttCreationDate; $this->ModifiedBy = $objReloaded->ModifiedBy; $this->strModifiedDate = $objReloaded->strModifiedDate; }
/** * Override method to perform a property "Get" * This will get the value of $strName * * @param string $strName Name of the property to get * @return mixed */ public function __get($strName) { switch ($strName) { /////////////////// // Member Variables /////////////////// case 'AssetTransactionCheckoutId': // Gets the value for intAssetTransactionCheckoutId (Read-Only PK) // @return integer return $this->intAssetTransactionCheckoutId; case 'AssetTransactionId': // Gets the value for intAssetTransactionId (Unique) // @return integer return $this->intAssetTransactionId; case 'ToContactId': // Gets the value for intToContactId // @return integer return $this->intToContactId; case 'ToUserId': // Gets the value for intToUserId // @return integer return $this->intToUserId; case 'DueDate': // Gets the value for dttDueDate // @return QDateTime return $this->dttDueDate; case 'CreatedBy': // Gets the value for intCreatedBy // @return integer return $this->intCreatedBy; case 'CreationDate': // Gets the value for dttCreationDate // @return QDateTime return $this->dttCreationDate; case 'ModifiedBy': // Gets the value for intModifiedBy // @return integer return $this->intModifiedBy; case 'ModifiedDate': // Gets the value for strModifiedDate (Read-Only Timestamp) // @return string return $this->strModifiedDate; /////////////////// // Member Objects /////////////////// /////////////////// // Member Objects /////////////////// case 'AssetTransaction': // Gets the value for the AssetTransaction object referenced by intAssetTransactionId (Unique) // @return AssetTransaction try { if (!$this->objAssetTransaction && !is_null($this->intAssetTransactionId)) { $this->objAssetTransaction = AssetTransaction::Load($this->intAssetTransactionId); } return $this->objAssetTransaction; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToContact': // Gets the value for the Contact object referenced by intToContactId // @return Contact try { if (!$this->objToContact && !is_null($this->intToContactId)) { $this->objToContact = Contact::Load($this->intToContactId); } return $this->objToContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ToUser': // Gets the value for the UserAccount object referenced by intToUserId // @return UserAccount try { if (!$this->objToUser && !is_null($this->intToUserId)) { $this->objToUser = UserAccount::Load($this->intToUserId); } return $this->objToUser; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'CreatedByObject': // Gets the value for the UserAccount object referenced by intCreatedBy // @return UserAccount try { if (!$this->objCreatedByObject && !is_null($this->intCreatedBy)) { $this->objCreatedByObject = UserAccount::Load($this->intCreatedBy); } return $this->objCreatedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'ModifiedByObject': // Gets the value for the UserAccount object referenced by intModifiedBy // @return UserAccount try { if (!$this->objModifiedByObject && !is_null($this->intModifiedBy)) { $this->objModifiedByObject = UserAccount::Load($this->intModifiedBy); } return $this->objModifiedByObject; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// case '__Restored': return $this->__blnRestored; default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } }
protected function btnSave_Click($strFormId, $strControlId, $strParameter) { $blnError = false; if ($this->objAssetTransactionArray && $this->objInventoryTransactionArray) { $intEntityQtypeId = EntityQtype::AssetInventory; } elseif ($this->objAssetTransactionArray) { $intEntityQtypeId = EntityQtype::Asset; } elseif ($this->objInventoryTransactionArray) { $intEntityQtypeId = EntityQtype::Inventory; } else { $blnError = true; $this->btnCancel->Warning = 'There are no assets or inventory in this shipment.'; } if (QApplication::$TracmorSettings->CustomShipmentNumbers) { if ($objShipment = Shipment::LoadByShipmentNumber($this->txtShipmentNumber->Text)) { if ($objShipment->ShipmentId != $this->objShipment->ShipmentId) { $blnError = true; $this->txtShipmentNumber->Warning = 'That is a duplicate shipment number.'; } } } if ($this->lstFxServiceType->SelectedValue) { $objtoFxAddress = Address::Load($this->lstToAddress->SelectedValue); if (!$objtoFxAddress || !$objtoFxAddress->PostalCode || !$objtoFxAddress->CountryId || !$objtoFxAddress->Address1) { $blnError = true; $this->lstFxServiceType->Warning = "Not a valid To Address."; } $objfromFxAddress = Address::Load($this->lstFromAddress->SelectedValue); if (!$objfromFxAddress || !$objfromFxAddress->PostalCode || !$objfromFxAddress->Address1 || !$objfromFxAddress->CountryId) { $blnError = true; $this->lstFxServiceType->Warning = "Not a valid From Address."; } $objfromFxContact = Contact::Load($this->lstFromContact->SelectedValue); if (!$objfromFxContact) { $blnError = true; $this->lstFxServiceType->Warning = "Not a valid From Contact."; } $objfromFxCompany = Company::Load($this->lstFromCompany->SelectedValue); if (!$objfromFxCompany) { $blnError = true; $this->lstFxServiceType->Warning = "Not a valid From Company."; } elseif (!$objfromFxCompany->Telephone) { $blnError = true; $this->lstFxServiceType->Warning = "The Shipping Company must have a telephone number."; } $objShippingAccount = ShippingAccount::Load($this->lstShippingAccount->SelectedValue); if (!$objShippingAccount) { $blnError = true; $this->lstFxServiceType->Warning = "Not a valid Shipping Account."; } /* $fed = new FedExDC($objShippingAccount->Value); $aRet = $fed->subscribe( array( 1 => $this->lblShipmentNumber->Text, // Don't really need this but can be used for ref 4003 => $objfromFxContact->__toString(), 4008 => $objfromFxAddress->Address1, 4009 => $objfromFxAddress->Address2, 4011 => $objfromFxAddress->City, 4012 => $objfromFxAddress->__toStringStateProvinceAbbreviation(), 4013 => $objfromFxAddress->PostalCode, 4014 => $objfromFxAddress->__toStringCountryAbbreviation(), 4015 => $this->FxStrip($objfromFxCompany->Telephone), ) ); if ($error = $fed->getError()) { $blnError = true; $this->lstFxServiceType->Warning = $error; } elseif (!$aRet[498]) { $blnError = true; $this->lstFxServiceType->Warning = "Fedex response is improperly formed."; } else { $this->objShipment->FedexMeterNumber = $aRet[498]; }*/ } if (!$blnError) { if (!$this->blnEditMode) { try { // Get an instance of the database $objDatabase = QApplication::$Database[1]; // Begin a MySQL Transaction to be either committed or rolled back $objDatabase->TransactionBegin(); // Create the new transaction object and save it $this->objTransaction = new Transaction(); $this->objTransaction->EntityQtypeId = $intEntityQtypeId; $this->objTransaction->TransactionTypeId = 6; $this->objTransaction->Note = $this->txtNote->Text; $this->objTransaction->Save(); if ($intEntityQtypeId == EntityQtype::AssetInventory || $intEntityQtypeId == EntityQtype::Asset) { // Assign different source and destinations depending on transaction type foreach ($this->objAssetTransactionArray as $objAssetTransaction) { if ($objAssetTransaction->Asset instanceof Asset) { // Save the asset just to update the modified_date field so it can trigger an Optimistic Locking Exception when appropriate $objAssetTransaction->Asset->Save(); // Assign the TransactionId $objAssetTransaction->TransactionId = $this->objTransaction->TransactionId; // Create the new asset if it was scheduled for receipt if ($objAssetTransaction->ScheduleReceiptFlag && $objAssetTransaction->NewAsset && $objAssetTransaction->NewAsset instanceof Asset) { $objReceiptAsset = new Asset(); $objReceiptAsset->AssetModelId = $objAssetTransaction->NewAsset->AssetModelId; $objReceiptAsset->LocationId = $objAssetTransaction->NewAsset->LocationId; //if ($objReceiptAsset->AssetCode == '') { if ($objAssetTransaction->NewAsset->AssetCode == '') { $objReceiptAsset->AssetCode = Asset::GenerateAssetCode(); } else { $objReceiptAsset->AssetCode = $objAssetTransaction->NewAsset->AssetCode; } $objReceiptAsset->Save(); // Assign any default custom field values CustomField::AssignNewEntityDefaultValues(1, $objReceiptAsset->AssetId); // Associate the new Asset with the AssetTransaction $objAssetTransaction->NewAsset = $objReceiptAsset; } // $objAssetTransaction->DestinationLocationId = $DestinationLocationId; $objAssetTransaction->Save(); /*$objLinkedAssetArray = Asset::LoadChildLinkedArrayByParentAssetId($objAssetTransaction->Asset->AssetId); if ($objLinkedAssetArray) { foreach ($objLinkedAssetArray as $objLinkedAsset) { $objLinkedAssetTransaction = new AssetTransaction(); $objLinkedAssetTransaction->AssetId = $objLinkedAsset->AssetId; $objLinkedAssetTransaction->SourceLocationId = $objLinkedAsset->LocationId; $objLinkedAssetTransaction->TransactionId = $objAssetTransaction->TransactionId; $objLinkedAssetTransaction->Save(); } }*/ } } } if ($intEntityQtypeId == EntityQtype::AssetInventory || $intEntityQtypeId == EntityQtype::Inventory) { // Assign different source and destinations depending on transaction type foreach ($this->objInventoryTransactionArray as $objInventoryTransaction) { // Save the inventory location just to update the modified_date field so it can triggern an Optimistic Locking Exception when appropriate $objInventoryTransaction->InventoryLocation->Save(); // Assign the TransactionId $objInventoryTransaction->TransactionId = $this->objTransaction->TransactionId; // $objInventoryTransaction->DestinationLocationId = $DestinationLocationId; $objInventoryTransaction->Save(); } } $this->UpdateShipmentFields(); $this->objShipment->ShippedFlag = false; $this->objShipment->Save(); if ($this->arrCustomFields) { // Save the values from all of the custom field controls to save the shipment CustomField::SaveControls($this->objShipment->objCustomFieldArray, $this->blnEditMode, $this->arrCustomFields, $this->objShipment->ShipmentId, 10); } // If the courier is FedEx, create new fedexShipment if ($this->lstCourier->SelectedValue === 1) { $this->objFedexShipment = new FedexShipment(); $this->objFedexShipment->Shipment = $this->objShipment; $this->UpdateFedexFields(); $this->objFedexShipment->Save(); } $objDatabase->TransactionCommit(); QApplication::Redirect('shipment_list.php'); } catch (QExtendedOptimisticLockingException $objExc) { // Rollback the database $objDatabase->TransactionRollback(); if ($objExc->Class == 'Asset') { // $this->btnRemoveAssetTransaction_Click($this->FormId, 'btnRemoveAsset' . $objExc->EntityId, $objExc->EntityId); $this->btnRemoveAssetTransaction_Click($this->FormId, null, $objExc->EntityId); $objAsset = Asset::Load($objExc->EntityId); if ($objAsset) { $this->btnCancel->Warning = sprintf('The Asset %s has been modified by another user and removed from this shipment. You may add the asset again or save the transaction without it.', $objAsset->AssetCode); } else { $this->btnCancel->Warning = 'An Asset has been deleted by another user and removed from this shipment.'; } } if ($objExc->Class == 'InventoryLocation') { $this->btnRemoveInventory_Click($this->FormId, 'btnRemoveInventory' . $objExc->EntityId, $objExc->EntityId); $objInventoryLocation = InventoryLocation::Load($objExc->EntityId); if ($objInventoryLocation) { $this->btnCancel->Warning = sprintf('The Inventory %s has been modified by another user and removed from this shipment. You may add the inventory again or save the shipment without it.', $objInventoryLocation->InventoryModel->InventoryModelCode); } else { $this->btnCancel->Warning = 'Inventory has been deleted by another user and removed from this shipment.'; } } } } elseif ($this->blnEditMode) { try { // Get an instance of the database $objDatabase = QApplication::$Database[1]; // Begin a MySQL Transaction to be either committed or rolled back $objDatabase->TransactionBegin(); $this->objTransaction = Transaction::Load($this->objShipment->TransactionId); $this->objTransaction->EntityQtypeId = $intEntityQtypeId; $this->objTransaction->Note = $this->txtNote->Text; $this->objTransaction->Save(); // Remove AssetTransactions that were removed when editing if ($this->arrAssetTransactionToDelete) { foreach ($this->arrAssetTransactionToDelete as $intAssetTransactionId) { $objAssetTransactionToDelete = AssetTransaction::Load($intAssetTransactionId); // Make sure that it wasn't added and then removed if ($objAssetTransactionToDelete) { // Change back location $objAssetTransactionToDelete->Asset->LocationId = $objAssetTransactionToDelete->SourceLocationId; $objAssetTransactionToDelete->Asset->Save(); // Delete the asset that was created for a new receipt if ($objAssetTransactionToDelete->NewAsset && $objAssetTransactionToDelete->NewAsset instanceof Asset && $objAssetTransactionToDelete->ScheduleReceiptFlag) { $objAssetTransactionToDelete->NewAsset->Delete(); } // Delete the asset transaction $objAssetTransactionToDelete->Delete(); unset($objAssetTransactionToDelete); } } } // Save new AssetTransactions if ($this->objAssetTransactionArray) { foreach ($this->objAssetTransactionArray as $objAssetTransaction) { // If the AssetTransaction has not been saved if (!$objAssetTransaction->AssetTransactionId) { $objAssetTransaction->TransactionId = $this->objTransaction->TransactionId; // Save the asset just to update the modified_date field so it can trigger an Optimistic Locking Exception when appropriate $objAssetTransaction->Asset->Save(); // Create the new asset if it was scheduled for receipt // $DestinationLocationId = 2; // Shipped // $objAssetTransaction->DestinationLocationId = $DestinationLocationId; // $objAssetTransaction->Asset->LocationId = $DestinationLocationId; // $objAssetTransaction->Asset->Save(); } if ($objAssetTransaction->ScheduleReceiptFlag && $objAssetTransaction->NewAsset && $objAssetTransaction->NewAsset instanceof Asset && !$objAssetTransaction->NewAssetId) { $objReceiptAsset = new Asset(); $objReceiptAsset->AssetModelId = $objAssetTransaction->NewAsset->AssetModelId; $objReceiptAsset->LocationId = $objAssetTransaction->NewAsset->LocationId; if ($objAssetTransaction->NewAsset->AssetCode == '') { $objReceiptAsset->AssetCode = Asset::GenerateAssetCode(); } else { $objReceiptAsset->AssetCode = $objAssetTransaction->NewAsset->AssetCode; } $objReceiptAsset->Save(); // Assign any default custom field values CustomField::AssignNewEntityDefaultValues(1, $objReceiptAsset->AssetId); // Associate the new Asset with the AssetTransaction $objAssetTransaction->NewAsset = $objReceiptAsset; } $objAssetTransaction->Save(); } } // Remove InventoryTransactions if ($this->arrInventoryTransactionToDelete) { foreach ($this->arrInventoryTransactionToDelete as $intInventoryTransactionId) { $objInventoryTransactionToDelete = InventoryTransaction::Load($intInventoryTransactionId); // Make sure that it wasn't added then removed if ($objInventoryTransactionToDelete) { // Change back the quantity $objInventoryTransactionToDelete->InventoryLocation->Quantity += $objInventoryTransactionToDelete->Quantity; $objInventoryTransactionToDelete->InventoryLocation->Save(); // Delete the InventoryTransaction $objInventoryTransactionToDelete->Delete(); unset($objInventoryTransactionToDelete); } } } // Save InventoryTransactions if ($this->objInventoryTransactionArray) { foreach ($this->objInventoryTransactionArray as $objInventoryTransaction) { if (!$objInventoryTransaction->InventoryTransactionId) { // Reload the InventoryLocation. If it was deleted and added in the same save click, then it will throw an Optimistic Locking Exception $objInventoryTransaction->InventoryLocation = InventoryLocation::Load($objInventoryTransaction->InventoryLocationId); $objInventoryTransaction->TransactionId = $this->objTransaction->TransactionId; // Save the inventory location just to update the modified_date field so it can triggern an Optimistic Locking Exception when appropriate $objInventoryTransaction->InventoryLocation->Save(); // $DestinationLocationId = 2; // Shipped // $objInventoryTransaction->DestinationLocationId = $DestinationLocationId; // $objInventoryTransaction->InventoryLocation->Quantity -= $objInventoryTransaction->Quantity; // $objInventoryTransaction->InventoryLocation->Save(); $objInventoryTransaction->Save(); } } } $this->UpdateShipmentFields(); // $this->objShipment->Save(false, true); $this->objShipment->Save(); if ($this->arrCustomFields) { // Save the values from all of the custom field controls to save the shipment CustomField::SaveControls($this->objShipment->objCustomFieldArray, $this->blnEditMode, $this->arrCustomFields, $this->objShipment->ShipmentId, 10); } // If the courier is FedEx, save the fedexShipment if ($this->lstCourier->SelectedValue === 1) { if ($this->objFedexShipment) { // FedexShipment already exists, so update it $this->UpdateFedexFields(); $this->objFedexShipment->Save(); } else { // FedexShipment doesn't exist yet, so create it $this->objFedexShipment = new FedexShipment(); $this->objFedexShipment->Shipment = $this->objShipment; $this->UpdateFedexFields(); $this->objFedexShipment->Save(); } } else { if ($this->objFedexShipment) { // FedexShipment exists - delete it because the selected courier is no longer FedEx $this->objFedexShipment->Delete(); $this->objFedexShipment = null; } } $objDatabase->TransactionCommit(); $this->UpdateShipmentLabels(); $this->SetupShipment(); $this->DisplayLabels(); if ($this->objShipment->CourierId == 1) { $this->txtTrackingNumber->Enabled = false; $this->lstPackageType->Enabled = true; } else { $this->txtTrackingNumber->Enabled = true; $this->lstPackageType->Enabled = false; } // Reload lstPackageType $this->lstPackageType->RemoveAllItems(); $this->LoadPackageTypes(); } catch (QExtendedOptimisticLockingException $objExc) { $objDatabase->TransactionRollback(); if ($objExc->Class == 'Shipment') { $this->btnCancel->Warning = sprintf('This shipment has been modified by another user. You must <a href="shipment_edit.php?intShipmentId=%s">Refresh</a> to edit this shipment.', $this->objShipment->ShipmentId); } elseif ($objExc->Class == 'Asset') { //$this->btnRemoveAssetTransaction_Click($this->FormId, 'btnRemoveAsset' . $objExc->EntityId, $objExc->EntityId); $this->btnRemoveAssetTransaction_Click($this->FormId, null, $objExc->EntityId); $objAsset = Asset::Load($objExc->EntityId); if ($objAsset) { $this->btnCancel->Warning = sprintf('The Asset %s has been modified by another user and removed from this shipment. You may add the asset again or save the transaction without it.', $objAsset->AssetCode); } else { $this->btnCancel->Warning = 'An Asset has been deleted by another user and removed from this shipment.'; } } elseif ($objExc->Class == 'InventoryLocation') { $this->btnRemoveInventory_Click($this->FormId, 'btnRemoveInventory' . $objExc->EntityId, $objExc->EntityId); $objInventoryLocation = InventoryLocation::Load($objExc->EntityId); if ($objInventoryLocation) { $this->btnCancel->Warning = sprintf('The Inventory %s has been modified by another user and removed from this shipment. You may add the inventory again or save the shipment without it.', $objInventoryLocation->InventoryModel->InventoryModelCode); } else { $this->btnCancel->Warning = 'Inventory has been deleted by another user and removed from this shipment.'; } } } } } }
public function btnEdit_Click($strFormId, $strControlId, $strParameter) { $strParameterArray = explode(',', $strParameter); $objContact = Contact::Load($strParameterArray[0]); $objEditPanel = new ContactEditPanel($this, $this->strCloseEditPanelMethod, $objContact); $strMethodName = $this->strSetEditPanelMethod; $this->objForm->{$strMethodName}($objEditPanel); }
/** * Override method to perform a property "Get" * This will get the value of $strName * * @param string $strName Name of the property to get * @return mixed */ public function __get($strName) { switch ($strName) { /////////////////// // Member Variables /////////////////// case 'ContactId': // Gets the value for intContactId (PK) // @return integer return $this->intContactId; /////////////////// // Member Objects /////////////////// /////////////////// // Member Objects /////////////////// case 'Contact': // Gets the value for the Contact object referenced by intContactId (PK) // @return Contact try { if (!$this->objContact && !is_null($this->intContactId)) { $this->objContact = Contact::Load($this->intContactId); } return $this->objContact; } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// //////////////////////////// // Virtual Object References (Many to Many and Reverse References) // (If restored via a "Many-to" expansion) //////////////////////////// case '__Restored': return $this->__blnRestored; default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } }