Jacek Kowalski
2022-08-15 927c6bf2e6c55ec2bbd3d02ae334e045161ef77b
Delete payments in wFirma that were removed from UCRM
1 files modified
33 ■■■■■ changed files
src/PaymentSynchronizer.php 33 ●●●●● patch | view | raw | blame | history
src/PaymentSynchronizer.php
@@ -170,4 +170,37 @@
        return $changed;
    }
    function delete(array $paymentData) {
        $wFirmaPaymentsApi = $this->wfirma->paymentsApi();
        $paymentAttributeId = $this->helper->getAttributes()->getIdForCode('payment');
        $wFirmaIds = '';
        foreach ($paymentData['attributes'] as $attribute) {
            if ($attribute['customAttributeId'] === $paymentAttributeId) {
                $wFirmaIds = $attribute['value'];
            }
        }
        if (strlen($wFirmaIds) > 0) {
            $wFirmaIds = explode(',', $wFirmaIds);
        } else {
            $wFirmaIds = [];
        }
        $changed = FALSE;
        foreach($wFirmaIds as $wFirmaId) {
            try {
                $payment = $wFirmaPaymentsApi->get(
                    Payments\PaymentId::create($wFirmaId)
                );
                $wFirmaPaymentsApi->delete($payment->id());
                $changed = TRUE;
            } catch(\Webit\WFirmaSDK\Entity\Exception\NotFoundException $e) {
                // do nothing
            }
        }
        return $changed;
    }
}