public static function getOfficesLocationsJson(IConsultant $consultant)
 {
     $res = array();
     $color = strtoupper(dechex(rand(0, 10000000)));
     $office_index = 1;
     foreach ($consultant->getOffices() as $office) {
         $data_office = array();
         $data_office['color'] = is_null($consultant->getCompany()->Color) ? $color : $consultant->getCompany()->Color;
         $address = $office->getAddress();
         $data_office['address'] = '';
         if (!empty($address)) {
             $data_office['address'] = trim($address . ' ' . $office->getAddress1());
         }
         $state = $office->getState();
         if (!empty($state)) {
             $data_office['address'] .= ', ' . $state;
         }
         $data_office['address'] .= (empty($data_office['address']) ? '' : ', ') . $office->getCity();
         $data_office['address'] .= ', ' . $office->getCountry();
         $data_office['lat'] = $office->getLat();
         $data_office['lng'] = $office->getLng();
         $data_office['owner'] = $consultant->getName();
         $data_office['name'] = sprintf('Office #%s', $office_index);
         ++$office_index;
         array_push($res, $data_office);
     }
     return json_encode($res);
 }
 public function pdf()
 {
     $services = $this->consultant->getServicesOffered();
     $unique_services = array();
     $unique_regions = array();
     foreach ($services as $service) {
         if (!array_key_exists($service->getType(), $unique_services)) {
             $unique_services[$service->getType()] = $service;
         }
         if (!array_key_exists($service->getRegionID(), $unique_regions)) {
             $region = $this->region_repository->getById($service->getRegionID());
             $unique_regions[$service->getRegionID()] = $region;
         }
     }
     return Controller::curr()->Customise(array('Consultant' => $this->consultant, 'Services' => new ArrayList(array_values($unique_services)), 'Regions' => new ArrayList(array_values($unique_regions))))->renderWith(array('ConsultantsDirectoryPage_pdf'));
 }