in app/Console/Commands/ImportCSV.php [121:219]
private function csvToContact($data, $account_id, $gender_id)
{
$contact = new Contact();
$contact->account_id = $account_id;
$contact->gender_id = $gender_id;
if (! empty($data[1])) {
$contact->first_name = $data[1]; // Given Name
}
if (! empty($data[2])) {
$contact->middle_name = $data[2]; // Additional Name
}
if (! empty($data[3])) {
$contact->last_name = $data[3]; // Family Name
}
$street = null;
if (! empty($data[49])) {
$street = $data[49]; // address 1 street
}
$city = null;
if (! empty($data[50])) {
$city = $data[50]; // address 1 city
}
$province = null;
if (! empty($data[52])) {
$province = $data[52]; // address 1 region (state)
}
$postalCode = null;
if (! empty($data[53])) {
$postalCode = $data[53]; // address 1 postal code (zip) 53
}
if (! empty($data[66])) {
$contact->job = $data[66]; // organization 1 name 66
}
$contact->setAvatarColor();
$contact->save();
if (! empty($data[28])) {
// Email 1 Value
ContactField::firstOrCreate([
'account_id' => $contact->account_id,
'contact_id' => $contact->id,
'data' => $data[28],
'contact_field_type_id' => $this->contactFieldEmailId(),
]);
}
if ($postalCode || $province || $street || $city) {
$request = [
'account_id' => $contact->account_id,
'contact_id' => $contact->id,
'street' => $street,
'city' => $city,
'province' => $province,
'postal_code' => $postalCode,
];
app(CreateAddress::class)->execute($request);
}
if (! empty($data[42])) {
// Phone 1 Value
ContactField::firstOrCreate([
'account_id' => $contact->account_id,
'contact_id' => $contact->id,
'data' => $data[42],
'contact_field_type_id' => $this->contactFieldPhoneId(),
]);
}
if (! empty($data[14])) {
$birthdate = DateHelper::parseDate($data[14]);
$specialDate = $contact->setSpecialDate('birthdate', $birthdate->year, $birthdate->month, $birthdate->day);
app(CreateReminder::class)->execute([
'account_id' => $contact->account_id,
'contact_id' => $contact->id,
'initial_date' => DateHelper::getDate($specialDate),
'frequency_type' => 'year',
'frequency_number' => 1,
'title' => trans(
'people.people_add_birthday_reminder',
['name' => $contact->first_name]
),
'delible' => false,
]);
}
GetAvatarsFromInternet::dispatch($contact);
}