<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-eca.xsd">

    <eca service="createPaymentApplication" event="commit">
        <condition field-name="invoiceId" operator="is-not-empty"/>
        <action service="checkInvoicePaymentApplications" mode="sync"/>
    </eca>

    <!--  Uncomment this if you want commission invoices to be set to READY automatically, which means they are official
    <eca service="createCommissionInvoices" event="commit">
        <condition field-name="invoicesCreated" operator="is-not-empty"/>
        <action service="readyInvoices" mode="sync"/>
    </eca>
    -->

    <eca service="createPartyPostalAddress" event="commit">
        <condition field-name="paymentMethodId" operator="is-not-empty"/>
        <action service="setPaymentMethodAddress" mode="sync"/>
    </eca>
    <!-- do the updatePostalAddress before the return and after the commit so it can use its own transaction and not effect the updating of the PostalAddress -->
    <eca service="updatePostalAddress" event="return">
        <action service="updatePaymentMethodAddress" mode="sync"/>
    </eca>

    <eca service="createBillingAccount" event="return">
        <condition field-name="roleTypeId" operator="is-not-empty"/>
        <condition field-name="partyId" operator="is-not-empty"/>
        <action service="createBillingAccountRole" mode="sync"/>
    </eca>
    <eca service="createBillingAccountRole" event="invoke">
        <condition field-name="roleTypeId" operator="is-not-empty"/>
        <condition field-name="partyId" operator="is-not-empty"/>
        <action service="ensurePartyRole" mode="sync"/>
    </eca>

    <eca service="createCreditCard" event="in-validate">
        <condition field-name="expMonth" operator="is-not-empty"/>
        <condition field-name="expYear" operator="is-not-empty"/>
        <action service="buildCcExpireDate" mode="sync"/>
    </eca>
    <eca service="updateCreditCard" event="in-validate">
        <condition field-name="expMonth" operator="is-not-empty"/>
        <condition field-name="expYear" operator="is-not-empty"/>
        <action service="buildCcExpireDate" mode="sync"/>
    </eca>
    <eca service="createCreditCard" event="commit">
        <set field-name="mode" value="CREATE"/>
        <action service="verifyCreditCard" mode="sync" run-as-user="system"/>
    </eca>
    <eca service="updateCreditCard" event="commit">
        <condition-field field-name="oldPaymentMethodId" operator="not-equals" to-field-name="paymentMethodId"/>
        <set field-name="mode" value="UPDATE"/>
        <action service="verifyCreditCard" mode="sync" run-as-user="system"/>
    </eca>

    <eca service="createCreditCardAndAddress" event="in-validate">
        <condition field-name="expMonth" operator="is-not-empty"/>
        <condition field-name="expYear" operator="is-not-empty"/>
        <action service="buildCcExpireDate" mode="sync"/>
    </eca>
    <eca service="updateCreditCardAndAddress" event="in-validate">
        <condition field-name="expMonth" operator="is-not-empty"/>
        <condition field-name="expYear" operator="is-not-empty"/>
        <action service="buildCcExpireDate" mode="sync"/>
    </eca>

    <eca service="createGiftCard" event="in-validate">
        <condition field-name="expMonth" operator="is-not-empty"/>
        <condition field-name="expYear" operator="is-not-empty"/>
        <action service="buildCcExpireDate" mode="sync"/>
    </eca>
    <eca service="updateGiftCard" event="in-validate">
        <condition field-name="expMonth" operator="is-not-empty"/>
        <condition field-name="expYear" operator="is-not-empty"/>
        <action service="buildCcExpireDate" mode="sync"/>
    </eca>

    <eca service="authOrderPayments" event="global-rollback">
        <action service="releaseOrderPayments" mode="sync"/>
    </eca>

    <eca service="retryFailedOrderAuth" event="commit">
        <condition field-name="processResult" operator="not-equals" value="ERROR"/>
        <action service="sendOrderPayRetryNotification" mode="async" persist="true"/>
    </eca>

    <!-- financial account role ecas -->
    <eca service="createFinAccountRole" event="invoke">
        <action service="ensurePartyRole" mode="sync" run-as-user="system"/>
    </eca>

    <!-- financial account transaction ecas -->
    <eca service="finAccountWithdraw" event="return" run-on-error="true">
        <condition field-name="productStoreId" operator="is-not-empty"/>
        <action service="finAccountReplenish" mode="async" persist="true" run-as-user="system"/>
    </eca>

    <!-- attempt replenish when payment method is updated -->
    <eca service="updateFinAccount" event="commit" run-on-error="false">
        <condition-field field-name="oldReplenishPaymentId" operator="not-equals" to-field-name="replenishPaymentId"/>
        <condition field-name="replenishLevel" operator="is-not-empty"/>
        <action service="finAccountReplenish" mode="sync" run-as-user="system"/>
    </eca>

    <!-- attempt replenish when replenish level is updated -->
    <eca service="updateFinAccount" event="commit" run-on-error="false">
        <condition-field field-name="oldReplenishLevel" operator="not-equals" to-field-name="replenishLevel"/>
        <condition field-name="replenishPaymentId" operator="is-not-empty"/>
        <action service="finAccountReplenish" mode="sync" run-as-user="system"/>
    </eca>
    
    <eca service="createFinAccountTrans" event="commit">
        <condition field-name="glAccountId" operator="is-not-empty"/>
        <action service="postFinAccountTransToGl" mode="sync"/>
    </eca>

    <!-- sample ECA rules for the sampleInvoiceAffiliateCommission service triggering
    <eca service="createPayment" event="commit">
        <condition field-name="statusId" operator="equals" value="PMNT_RECEIVED"/>
        <action service="sampleInvoiceAffiliateCommission" mode="sync"/>
    </eca>
    <eca service="setPaymentStatus" event="commit">
        <condition field-name="statusId" operator="equals" value="PMNT_RECEIVED"/>
        <condition-field field-name="statusId" operator="not-equals" to-field-name="oldStatusId"/>
        <condition field-name="oldStatusId" operator="not-equals" value="PMNT_CONFIRMED"/>
        <action service="sampleInvoiceAffiliateCommission" mode="sync"/>
    </eca>
    -->

    <!--  automatically create a fixed asset when a 'asset usage' type product
          is created and create the link between them -->
    <eca service="createProduct" event="commit">
        <condition field-name="productTypeId" operator="equals" value="ASSET_USAGE"/>
        <action service="createFixedAssetAndLinkToProduct" mode="sync"/>
    </eca>
</service-eca>
