Пример #1
0
function toArrayOfObjects($res, $is_search = false)
{
    $arr = array();
    foreach ($res as $obj) {
        if ($is_search) {
            $arr[] = SearchObject::fromResponse($obj);
        } else {
            $arr[] = Object::fromResponse($obj);
        }
    }
    return $arr;
}
Пример #2
0
 /**
  * Parse request data and return a SearchObject
  *
  * @param Array $postArr Array of POST variables
  * @param Array $getArr Array of GET variables
  *
  * @return SearchObject Search object with parsed data
  */
 public function parseSearchData($postArr, $getArr)
 {
     $searchObject = new SearchObject();
     $pageNo = isset($postArr['pageNO']) ? (int) $postArr['pageNO'] : 1;
     $searchObject->setPageNumber($pageNo);
     if (isset($postArr['captureState']) && $postArr['captureState'] == 'SearchMode') {
         $searchField = $postArr['loc_code'];
         $searchString = trim($postArr['loc_name']);
         $searchObject->setSearchField($searchField);
         $searchObject->setSearchString($searchString);
     }
     if (!isset($getArr['sortField'])) {
         $getArr['sortField'] = 0;
     }
     $sortOrderField = 'sortOrder' . $getArr['sortField'];
     if (!isset($getArr[$sortOrderField])) {
         $getArr[$sortOrderField] = 'ASC';
     }
     $sortField = $getArr['sortField'];
     $sortOrder = $getArr[$sortOrderField];
     $searchObject->setSortField($sortField);
     $searchObject->setSortOrder($sortOrder);
     return $searchObject;
 }
Пример #3
0
 public function searchContacts(SearchObject $search)
 {
     if ($search == null) {
         return null;
     }
     //search contact by name
     if ($search->getName() != null) {
         if ($search->getFirstName() != null) {
             $result = $this->getContactByName($search->getFirstName(), $search->getName());
         } else {
             echo $search->getFirstName();
             $result = $this->getContactByName(null, $search->getName());
         }
         if ($result == []) {
             return null;
         }
         return $result;
     }
     //get contact by company
     if ($search->getCompany() != null) {
         $result = $this->getContactByCompany($search->getCompany());
         if ($result == []) {
             return null;
         }
         return $result;
     }
     //search by Type
     if ($search->getTypeName() != null && $search->getAddress() == null) {
         $typeId = $this->typeService->getTypeIdByLabel($search->getTypeName());
         if ($typeId != null && $typeId != -1) {
             $result = $this->getContactByTypeId($typeId);
             if ($result == []) {
                 return null;
             }
             return $result;
         }
     }
     //search by address + rayon
     if ($search->getAddress() != null && $search->getAddress()->getLatitude() != null && $search->getAddress()->getLongitude() != null && $search->getRayon() != null && $search->getTypeName() == null) {
         $result = $this->getContactsbyAddressAndRayon($search->getAddress(), $search->getRayon(), null, null);
         if ($result == []) {
             return null;
         }
         return $result;
     }
     //search by type + address + rayon
     if ($search->getAddress() != null && $search->getAddress()->getLatitude() != null && $search->getAddress()->getLongitude() != null && $search->getRayon() != null && $search->getTypeName() != null) {
         $typeId = $this->typeService->getTypeIdByLabel($search->getTypeName());
         if ($typeId != null && $typeId != -1) {
             $result = $this->getContactsbyAddressAndRayon($search->getAddress(), $search->getRayon(), $typeId, null);
             if ($result == []) {
                 return null;
             }
             return $result;
         }
     }
     //search by company + address + rayon
     if ($search->getAddress() != null && $search->getAddress()->getLatitude() != null && $search->getAddress()->getLongitude() != null && $search->getRayon() != null && $search->getCompany() != null) {
         $result = $this->getContactsbyAddressAndRayon($search->getAddress(), $search->getRayon(), null, $search->getCompany());
         if ($result == []) {
             return null;
         }
         return $result;
     }
     return null;
 }
Пример #4
0
function searchObjectParser($data)
{
    $searchObject = new SearchObject();
    if (isset($data['firstName'])) {
        $searchObject->setFirstName($data['firstName']);
    }
    if (isset($data['name'])) {
        $searchObject->setName($data['name']);
    }
    if (isset($data['company'])) {
        $searchObject->setCompany($data['company']);
    }
    if (isset($data['address'])) {
        $dataAddress = $data['address'];
        $address = new Address();
        if (isset($dataAddress['line1'])) {
            $address->setLine1($dataAddress['line1']);
        }
        if (isset($dataAddress['line2'])) {
            $address->setLine2($dataAddress['line2']);
        }
        if (isset($dataAddress['zipCode'])) {
            $address->setZipCode($dataAddress['zipCode']);
        }
        if (isset($dataAddress['city'])) {
            $address->setCity($dataAddress['city']);
        }
        if (isset($dataAddress['latitude']) && isset($dataAddress['longitude'])) {
            $address->setLatitude($dataAddress['latitude']);
            $address->setLongitude($dataAddress['longitude']);
        } else {
            $mapService = new GoogleMapService();
            $latlng = $mapService->getLatLong($address);
            if ($latlng != [] && sizeof($latlng) == 2) {
                $address->setLatitude($latlng[0]);
                $address->setLongitude($latlng[1]);
            }
        }
        $searchObject->setAddress($address);
    }
    if (isset($data['typeName'])) {
        $searchObject->setTypeName($data['typeName']);
    }
    if (isset($data['rayon'])) {
        $searchObject->setRayon($data['rayon']);
    }
    return $searchObject;
}
Пример #5
0
 private function _getDefaultSearchObject()
 {
     $searchObj = new SearchObject();
     $searchObj->setPageNumber(1);
     $searchObj->setSearchField(SearchObject::SEARCH_FIELD_NONE);
     $searchObj->setSearchString('');
     $searchObj->setSortField(0);
     $searchObj->setSortOrder(SearchObject::SORT_ORDER_ASC);
     return $searchObj;
 }