protected function transform($entity, $type) { $transformedData = []; if ($type == 'user') { foreach (User::$transformationData as $k => $v) { if (!empty($entity[$v]) && $k == 'publisher') { $transformedData[$k] = $this->transform($entity[$v], 'publisher'); } else { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } } $transformedData['userType'] = User::getTypeString($entity['level']); return $transformedData; } if ($type == 'publisher') { foreach (Publisher::$transformationData as $k => $v) { if (!empty($entity[$v]) && $k == 'territories') { $transformedData[$k] = $this->transformCollection($entity[$v], 'territory'); } else { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } } return $transformedData; } if ($type == 'territory') { foreach (Territory::$transformationData as $k => $v) { if (!empty($entity[$v]) && $k == 'addresses') { $transformedData[$k] = $this->transformCollection($entity[$v], 'address'); $transformedData[$k] = $this->sortArrayByObjKeys($transformedData[$k], $keys = []); } else { if (!empty($entity[$v]) && $k == 'records') { $transformedData[$k] = $this->transformCollection($entity[$v], 'record'); } else { if (!empty($entity[$v]) && $k == 'publisher') { $transformedData[$k] = $this->transform($entity[$v], 'publisher'); } else { if (!empty($entity[$v]) && in_array($k, Territory::$intKeys)) { $transformedData[$k] = (int) $entity[$v]; } else { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } } } } } return $transformedData; } if ($type == 'address') { foreach (Address::$transformationData as $k => $v) { if (!empty($entity[$v]) && $k == 'notes') { $transformedData[$k] = $this->transformCollection($entity[$v], 'note'); } else { if (!empty($entity[$v]) && $k == 'street') { $transformedData[$k] = $this->transform($entity[$v], 'street'); // dd($entity[$v]); // dd($transformedData[$k]); if ($transformedData[$k]['isAptBuilding'] == 1) { $transformedData['isApt'] = true; $transformedData['streetId'] = !empty($transformedData[$k]['streetId']) ? $transformedData[$k]['streetId'] : ''; $transformedData['building'] = $transformedData[$k]['street']; $transformedData['streetName'] = Address::getStreet($transformedData[$k]['street']); } else { $transformedData['streetId'] = !empty($transformedData[$k]['streetId']) ? $transformedData[$k]['streetId'] : ''; } $transformedData['streetName'] = $transformedData[$k]['street']; } else { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } } } // $transformedData['street'] = Address::getStreet($entity['address']); // dd($transformedData); if ($transformedData['street']['isAptBuilding'] == 1 && strpos(strtolower($transformedData['address']), 'ap') === false) { $transformedData['address'] = 'Apt ' . $transformedData['address']; } $transformedData['address'] = strtoupper($transformedData['address']); $transformedData['inActive'] = $transformedData['inActive'] ? 1 : 0; return $transformedData; } if ($type == 'street') { foreach (Street::$transformationData as $k => $v) { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } // dd($transformedData); $transformedData['street'] = strtoupper($transformedData['street']); return $transformedData; } if ($type == 'note') { foreach (Note::$transformationData as $k => $v) { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } return $transformedData; } if ($type == 'record') { foreach (Record::$transformationData as $k => $v) { if (!empty($entity[$v]) && $k == 'territory') { $transformedData[$k] = $this->transform($entity[$v], 'territory'); } else { if (!empty($entity[$v]) && $k == 'user') { $transformedData[$k] = $this->transform($entity[$v], 'user'); } else { if (!empty($entity[$v]) && $k == 'publisher') { $transformedData[$k] = $this->transform($entity[$v], 'publisher'); } else { $transformedData[$k] = !empty($entity[$v]) ? $entity[$v] : ''; } } } } return $transformedData; } }
protected static function restoreTerritory($data) { $territory = Territory::where('number', $data->terrNumber)->first(); // var_dump($territory['id']); exit; if (empty($territory)) { $territory = Territory::create(['number' => $data->terrNumber, 'location' => $data->street]); } // var_dump($territory['id']); exit; if (!empty($territory['id'])) { $bad = ['STREET', 'COURT', 'PLACE', '(PARTIE SUD)', '(PARTIE NORD)', '(BILDING)', '(BUILDING)']; $good = ['ST', 'CT', 'PL', '', '', '', '']; foreach ($data->addresses as $i => $add) { $streetEntry = str_replace($bad, $good, strtoupper(Address::getStreet($add->address))); $street = Street::where('street', $streetEntry)->first(); // var_dump($street); exit; if (empty($street)) { /* $street = Street::create([ 'street' => $streetEntry, 'is_apt_building' => 0 ]); */ // else var_dump($streetEntry); } // var_dump($street); exit; $addressEntry = strtoupper(trim(str_replace($streetEntry, '', $add->address))); $address = Address::where(['address' => $addressEntry, 'street_id' => $street['id']])->first(); if (empty($address)) { /* $address = Address::create([ 'territory_id' => $territory['id'], 'street_id' => $street['id'], 'address' => $addressEntry, 'name' => $add->name, 'phone' => $add->phone ]); */ // else var_dump([$addressEntry, $address]); } // var_dump($address); exit; } } }