diff --git a/CRM/Bij1migratie/CsvFile.php b/CRM/Bij1migratie/CsvFile.php index 1c8942e..a4c2258 100644 --- a/CRM/Bij1migratie/CsvFile.php +++ b/CRM/Bij1migratie/CsvFile.php @@ -2,6 +2,7 @@ use CRM\Bij1migratie\Mapping\AirtableMapping; use CRM\Bij1migratie\Mapping\BetalingenMapping; +use CRM\Bij1migratie\Mapping\ChargebacksMapping; use CRM_Bij1migratie_ExtensionUtil as E; /** @@ -205,7 +206,7 @@ class CRM_Bij1migratie_CsvFile { * @throws */ private function sanitizeBetalingen(string $name, array &$data) { - $mapping = new BetalingenMapping($data): + $mapping = new BetalingenMapping($data); $value = $mapping->get($name); switch ($name) { @@ -217,36 +218,36 @@ class CRM_Bij1migratie_CsvFile { case BetalingenMapping::FIELD_MUNTEENHEID: case BetalingenMapping::FIELD_KLANT: case BetalingenMapping::FIELD_EMAIL: - $data[$name] = $data[0]; + $data[$name] = $value; break; case BetalingenMapping::FIELD_AANMAAKDATUM: - if (!empty($data[1])) { - $donatieDatum = new DateTime($data[1]); + if (!empty($value)) { + $donatieDatum = new DateTime($value); $data[$name] = $donatieDatum->format('d-m-Y'); } break; case BetalingenMapping::FIELD_BETALINGSDATUM: - if (!empty($data[2])) { - $betalingsDatum = new DateTime($data[2]); + if (!empty($value)) { + $betalingsDatum = new DateTime($value); $data[$name] = $betalingsDatum->format('d-m-Y'); } break; case BetalingenMapping::FIELD_OMSCRHIJVING: - if (!empty($data[3])) { - $data[$name] = $data[3]; + if (!empty($value)) { + $data[$name] = $value; } else { $data[$name] = "Migratie CiviCRM"; } break; case BetalingenMapping::FIELD_BETALINGSMETHODE: - if (!empty($data[4])) { - $data[$name] = $data[4]; + if (!empty($value)) { + $data[$name] = $value; } break; case BetalingenMapping::FIELD_BETALINGSINSTRUMENT: - if (!empty($data[6])) { - $data[$name] = Civi::service('bij1Migratie')->haalBetalingsinstrument($data[6]); + if (!empty($value)) { + $data[$name] = Civi::service('bij1Migratie')->haalBetalingsinstrument($value); } break; } @@ -261,33 +262,26 @@ class CRM_Bij1migratie_CsvFile { * @throws */ private function sanitizeChargebacks(string $name, array &$data) { + $mapping = new ChargebacksMapping($data); + $value = $mapping->get($name); + switch ($name) { - case "chargeback_id": - $data[$name] = $data[0]; + case ChargebacksMapping::FIELD_CHARGEBACK_ID: + case ChargebacksMapping::FIELD_TRANSACTIE_ID: + case ChargebacksMapping::FIELD_REDEN_CODE: + case ChargebacksMapping::FIELD_REDEN_OMSCHRIJVING: + case ChargebacksMapping::FIELD_BEDRAG: + case ChargebacksMapping::FIELD_MOLLIE_CUSTOMER_ID: + $data[$name] = $value; break; - case "chargeback_datum": - if (!empty($data[1])) { - $donatieDatum = new DateTime($data[1]); + case ChargebacksMapping::FIELD_CHARGEBACK_DATUM: + if (!empty($value)) { + $donatieDatum = new DateTime($value); $data[$name] = $donatieDatum->format('d-m-Y'); } break; - case "transactie_id": - $data[$name] = $data[2]; - break; - case "reden_code": - $data[$name] = $data[3]; - break; - case "reden_omschrijving": - $data[$name] = $data[4]; - break; - case "bedrag": - $data[$name] = $data[5]; - break; - case "mollie_customer_id": - $data[$name] = $data[7]; - break; - case "chargeback_bedrag": - $data[$name] = abs($data[6]); + case ChargebacksMapping::FIELD_CHARGEBACK_BEDRAG: + $data[$name] = abs($value); break; } } diff --git a/CRM/Bij1migratie/Mapping/ChargebacksMapping.php b/CRM/Bij1migratie/Mapping/ChargebacksMapping.php new file mode 100644 index 0000000..a44c90e --- /dev/null +++ b/CRM/Bij1migratie/Mapping/ChargebacksMapping.php @@ -0,0 +1,31 @@ + 0, + self::FIELD_CHARGEBACK_DATUM => 1, + self::FIELD_TRANSACTIE_ID => 2, + self::FIELD_REDEN_CODE => 3, + self::FIELD_REDEN_OMSCHRIJVING => 4, + self::FIELD_BEDRAG => 5, + self::FIELD_CHARGEBACK_BEDRAG => 6, + self::FIELD_MOLLIE_CUSTOMER_ID => 7, + ]; + + public function getColumns(): array + { + return self::MAPPING; + } +}