<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="DJOGlobal\ErpOrderSync\Api\Data\ErpSalesOrderInterface" type="DJOGlobal\ErpOrderSync\Model\ErpSalesOrder"/>
    <preference for="DJOGlobal\ErpOrderSync\Api\Data\ErpSalesOrderItemInterface" type="DJOGlobal\ErpOrderSync\Model\ErpSalesOrderItem"/>
    <preference for="DJOGlobal\ErpOrderSync\Api\Data\ErpSalesOrderSearchResultsInterface" type="Magento\Framework\Api\SearchResults"/>
    <preference for="DJOGlobal\ErpOrderSync\Api\Data\OrdersByDateSearchResultInterface" type="DJOGlobal\ErpOrderSync\Model\OrdersByDateSearchResult"/>
    <preference for="DJOGlobal\ErpOrderSync\Api\Data\OrdersByDateSearchResultsInterface" type="Magento\Framework\Api\SearchResults"/>
    <preference for="DJOGlobal\ErpOrderSync\Api\ErpSalesOrderRepositoryInterface" type="DJOGlobal\ErpOrderSync\Model\ErpSalesOrderRepository"/>
    <preference for="DJOGlobal\ErpOrderSync\Api\ErpSalesOrderItemRepositoryInterface" type="DJOGlobal\ErpOrderSync\Model\ErpSalesOrderItemRepository"/>

    <type name="Magento\Sales\Api\OrderRepositoryInterface">
        <plugin name="DJOGlobal_ErpOrderSync:SaveErpSalesOrderRowAfterOrderPlace" type="DJOGlobal\ErpOrderSync\Plugin\SaveErpSalesOrderRowAfterOrderPlace" sortOrder="1"/>
        <plugin name="DJOGlobal_ErpOrderSync:AddErpSalesOrderExtensionAttributes" type="DJOGlobal\ErpOrderSync\Plugin\AddErpSalesOrderExtensionAttributes"/>
    </type>

    <type name="Magento\Sales\Api\OrderItemRepositoryInterface">
        <plugin name="DJOGlobal_ErpOrderSync::AddErpSalesOrderItemExtensionAttributes" type="DJOGlobal\ErpOrderSync\Plugin\AddErpSalesOrderItemExtensionAttributes"/>
    </type>

    <type name="DJOGlobal\ErpOrderSync\Logger\Handler">
        <arguments>
            <argument name="filesystem" xsi:type="object">Magento\Framework\Filesystem\Driver\File</argument>
        </arguments>
    </type>
    <type name="DJOGlobal\ErpOrderSync\Logger\Logger">
        <arguments>
            <argument name="name" xsi:type="string">erp_order_sync</argument>
            <argument name="handlers"  xsi:type="array">
                <item name="system" xsi:type="object">DJOGlobal\ErpOrderSync\Logger\Handler</item>
            </argument>
        </arguments>
    </type>

    <type name="Magento\Framework\Console\CommandList">
       <arguments>
           <argument name="commands" xsi:type="array">
               <item name="erp_order_sync_sendsingleorder" xsi:type="object">DJOGlobal\ErpOrderSync\Console\Command\SendSingleOrderCommand</item>
               <item name="erp_order_sync_sendallordersnotyetsent" xsi:type="object">DJOGlobal\ErpOrderSync\Console\Command\SendAllOrdersNotYetSent</item>
               <item name="erp_order_sync_sendlastestordersnotyetsent" xsi:type="object">DJOGlobal\ErpOrderSync\Console\Command\SendLatestOrdersNotYetSent</item>
           </argument>
       </arguments>
    </type>
</config>
