/** * Get the rateset ID of the agent. * * @param mixed $agentSchemeNumber * @return int * @throws Zend_Exception */ public function getRatesetIDByASN($agentSchemeNumber = null) { $agentSchemeNumber = is_null($agentSchemeNumber) ? $this->_agentSchemeNumber : $agentSchemeNumber; if (is_null($agentSchemeNumber)) { throw new Zend_Exception('ASN not specified'); } return $this->_agentDatasource->getRatesetID($agentSchemeNumber); }
public function __construct($agentSchemeNumber = null) { $this->_offline = true; $this->_quoteModel = new Model_Insurance_LegacyQuote(); if ($agentSchemeNumber != "" && !is_null($agentSchemeNumber)) { $this->_quoteModel->agentSchemeNumber = $agentSchemeNumber; } // Default the settings $agent = new Datasource_Core_Agents(); $this->_quoteModel->agentRateSetID = $agent->getRatesetID($this->_quoteModel->agentSchemeNumber); $this->_quoteModel->status = 'Quote'; $this->_quoteModel->startTime = date("H:m:s"); }
/** * Load an existing quote from the database into the object * * @param string $policyNumber * @return Model_Insurance_LegacyQuote */ public function getByPolicyNumber($policyNumber) { $quote = new Model_Insurance_LegacyQuote(); $select = $this->select()->where('policynumber = ?', $policyNumber); $row = $this->fetchRow($select); if ($row) { $quote->refNo = $row->refno; $quote->policyNumber = $row->policynumber; $quote->agentSchemeNumber = $row->companyschemenumber; $quote->policyName = $row->policyname; $quote->issueDate = $row->issuedate; $quote->startDate = $row->startdate; $quote->endDate = $row->enddate; $quote->cancelledDate = $row->cancdate; $quote->payBy = $row->payby; $quote->payMethod = $row->paymethod; $quote->payStatus = $row->paystatus; $quote->policyOptions = $row->policyoptions; $quote->amountsCovered = $row->amountscovered; $quote->optionPremiums = $row->optionpremiums; $quote->paidNet = $row->paidnet; $quote->propertyAddress1 = $row->propaddress1; $quote->propertyAddress2 = $row->propaddress3; $quote->propertyAddress3 = $row->propaddress5; $quote->propertyPostcode = $row->proppostcode; $quote->dateOfLastPayment = $row->datelastpayment; $quote->policyType = $row->policytype; $quote->timeCompleted = $row->timecompleted; $quote->riskArea = $row->riskarea; $quote->whiteLabelID = $row->whitelabelID; $quote->policyLength = $row->policylength; $quote->origin = $row->origin; $quote->rateSetID = $row->rateSetID; $quote->excessID = $row->excessID; $quote->status = $row->status; $quote->startTime = $row->startTime; $quote->paySchedule = $row->payby; $quote->underwritingQuestionSetID = $row->underwritingQuestionSetID; $quote->dateStarted = $row->dateStarted; $quote->premium = $row->premium; $quote->ipt = $row->IPT; $quote->quote = $row->quote; // Calculate the missing data that isn't currently stored in the database $agent = new Datasource_Core_Agents(); $quote->agentRateSetID = $agent->getRatesetID($quote->agentSchemeNumber); return $quote; } else { return null; } }
/** * Set the agent scheme number * * @param int $asn Agent scheme number * * @return void **/ public function setAgentSchemeNumber($asn) { $this->_quoteModel->agentSchemeNumber = $asn; $agent = new Datasource_Core_Agents(); $this->_quoteModel->agentRateSetID = $agent->getRatesetID($this->_quoteModel->agentSchemeNumber); // Premiums are dependant on the agent scheme number so we need to recalculate premiums before saving $this->calculatePremiums(); $this->_save(); }