コード例 #1
0
 /**
  * {@inheritdoc}
  */
 protected function initialise()
 {
     $this->addClient('agent', function (array $parameters) {
         return \Barbondev\IRISSDK\Agent\Agent\AgentClient::factory($parameters);
     })->addClient('branch', function (array $parameters) {
         return \Barbondev\IRISSDK\Agent\Branch\BranchClient::factory($parameters);
     })->addClient('brand', function (array $parameters) {
         return \Barbondev\IRISSDK\Agent\Brand\BrandClient::factory($parameters);
     })->addClient('user', function (array $parameters) {
         return \Barbondev\IRISSDK\Agent\User\UserClient::factory($parameters);
     })->addClient('lookup', function (array $parameters) {
         return \Barbondev\IRISSDK\IndividualApplication\Lookup\LookupClient::factory($parameters);
     })->addClient('note', function (array $parameters) {
         return \Barbondev\IRISSDK\IndividualApplication\Note\NoteClient::factory($parameters);
     })->addClient('activity', function (array $parameters) {
         return \Barbondev\IRISSDK\IndividualApplication\Activity\ActivityClient::factory($parameters);
     })->addClient('product', function (array $parameters) {
         return \Barbondev\IRISSDK\IndividualApplication\Product\ProductClient::factory($parameters);
     })->addClient('referencingApplication', function (array $parameters) {
         return \Barbondev\IRISSDK\IndividualApplication\ReferencingApplication\ReferencingApplicationClient::factory($parameters);
     })->addClient('referencingCase', function (array $parameters) {
         return \Barbondev\IRISSDK\IndividualApplication\ReferencingCase\ReferencingCaseClient::factory($parameters);
     })->addClient('addressFinder', function (array $parameters) {
         return \Barbondev\IRISSDK\Utility\AddressFinder\AddressFinderClient::factory($parameters);
     })->addClient('document', function (array $parameters) {
         return \Barbondev\IRISSDK\Utility\Document\DocumentClient::factory($parameters);
     })->addClient('rentAffordability', function (array $parameters) {
         return \Barbondev\IRISSDK\Utility\RentAffordability\RentAffordabilityClient::factory($parameters);
     });
 }
コード例 #2
0
 /**
  * Upload missing files to upstream service
  *
  * @param $clientDocuments
  * @param callable $fileDetailCallback
  * @throws DocumentUploader\Exception\InvalidDetailType
  */
 private function addMissing($clientDocuments, Closure $fileDetailCallback)
 {
     //        $upstreamDocuments = $this->clientContext->getDocuments(array(
     //            'referencingApplicationUuId' => $this->application->getReferencingApplicationUuId(),
     //        ));
     // Look for documents in the upload that aren't in IRIS
     // These should be added to IRIS.
     /** @var FormInterface $clientDocument */
     foreach ($clientDocuments as $clientDocument) {
         // Get the uploaded file
         /** @var UploadedFile $uploadedFile */
         $uploadedFileData = $clientDocument->getData();
         $uploadedFile = $uploadedFileData['fileItem'];
         if ($uploadedFile) {
             //                if (!$this->matchUpstreamDocument($uploadedFile->getClientOriginalName(), $upstreamDocuments)) {
             // File not found in IRIS, add the file
             $fileDetail = array();
             if (null !== $fileDetailCallback) {
                 $fileDetailResponse = $fileDetailCallback(array('uploadedFile' => $uploadedFile, 'application' => $this->application));
                 if (null !== $fileDetailResponse && !is_array($fileDetailResponse)) {
                     // Invalid response
                     throw new InvalidDetailType(sprintf('Response of type %s is invalid. Expected null or array.', get_class($fileDetailResponse)));
                 }
                 $fileDetail = $fileDetailResponse;
             }
             $fileName = !empty($fileDetail['uploadedFile']) && is_string($fileDetail['uploadedFile']) ? $fileDetail['uploadedFile'] : $uploadedFile->getClientOriginalName();
             $fileName = rtrim($fileName, $uploadedFile->getClientOriginalExtension());
             $fileName = $this->getSlugifier()->slugify($fileName, '_') . '.' . strtolower($uploadedFile->getClientOriginalExtension());
             $description = !empty($fileDetail['description']) && is_string($fileDetail['description']) ? $fileDetail['description'] : '';
             $this->clientContext->uploadDocument(array('referencingApplicationUuId' => $this->application->getReferencingApplicationUuId(), 'fileName' => $fileName, 'description' => $description, 'file' => $uploadedFile->getPathname(), 'categoryId' => DocumentCategoryOptions::MISCELLANEOUS));
             //                }
         }
     }
 }
コード例 #3
0
 /**
  * Search in IRIS.
  *
  * @param int $currentAgentSchemeNumber Redundant, included only for signature compatibility with
  *                                      $this->searchInHrt()
  * @param SearchIndividualApplicationsCriteria $criteria
  * @param int $offset
  * @param int $limit
  * @return array Simple array of 'records' containing an array of ReferencingApplicationFindResult and
  *               'totalRecords' containing an integer of all possible records findable with the current criteria
  */
 private function searchInIris($currentAgentSchemeNumber, SearchIndividualApplicationsCriteria $criteria, $offset, $limit)
 {
     if ($this->debugMode) {
         error_log('--- Search in IRIS method invoked ---');
     }
     $applicationStatusIdList = self::getApplicationStatusIdsFromString($criteria->getApplicationStatus());
     $irisResults = $this->referencingApplicationClient->findReferencingApplications(array('referenceNumber' => $criteria->getReferenceNumber(), 'applicantFirstName' => $criteria->getApplicantFirstName(), 'applicantLastName' => $criteria->getApplicantLastName(), 'propertyAddress' => $criteria->getPropertyAddress(), 'propertyTown' => $criteria->getPropertyTown(), 'propertyPostcode' => $criteria->getPropertyPostcode(), 'applicationStatus' => $applicationStatusIdList, 'productType' => $criteria->getProductType(), 'offset' => $offset, 'numberOfRecords' => $limit));
     $irisRecords = $irisResults->getRecords()->toArray();
     // Tag data source as IRIS
     $records = array();
     foreach ($irisRecords as $key => $record) {
         $record->setDataSource(self::DATA_SOURCE_IRIS);
         $records[$key] = $record;
     }
     $totalRecords = $irisResults->getTotalRecords();
     return array('records' => $records, 'totalRecords' => $totalRecords);
 }