user = user(); } public function map($row): array { $row['company_id'] = company_id(); $row['created_by'] = $this->user->id; // Make enabled field integer if (isset($row['enabled'])) { $row['enabled'] = (int) $row['enabled']; } // Make reconciled field integer if (isset($row['reconciled'])) { $row['reconciled'] = (int) $row['reconciled']; } $date_fields = ['paid_at', 'invoiced_at', 'billed_at', 'due_at', 'issued_at', 'created_at', 'transferred_at']; foreach ($date_fields as $date_field) { if (!isset($row[$date_field])) { continue; } try { $row[$date_field] = Date::parse(ExcelDate::excelToDateTimeObject($row[$date_field])) ->format('Y-m-d H:i:s'); } catch (InvalidFormatException | \Exception $e) { Log::info($e->getMessage()); } } return $row; } public function rules(): array { return []; } public function chunkSize(): int { return 100; } public function isNotValid($row) { return Validator::make($row, $this->rules())->fails(); } public function isEmpty($row, $fields) { $fields = Arr::wrap($fields); foreach ($fields as $field) { if (!empty($row[$field])) { continue; } return true; } return false; } public function preferredLocale() { return $this->user->locale; } }