parameters:

services:
    d2.partner.query_builder_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\QueryBuilderManager
        arguments:      [@service_container, @doctrine.orm.entity_manager]

    d2_partner_consolidation_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerConsolidationManager
        arguments:      [@service_container, @doctrine.orm.entity_manager]

    d2_partner_excel_report_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\ExcelReportManager
        arguments:      [@service_container, @doctrine.orm.entity_manager, @d2_calc_manager]

    d2_partner_spout_report_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\SpoutReportManager
        arguments:      [@service_container, @doctrine.orm.entity_manager, @d2_calc_manager]

    d2_partner_xlsxw_report_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\XLSXWReportManager
        arguments:      [@service_container, @doctrine.orm.entity_manager, @d2_calc_manager]

    d2_partner_alert_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerAlertManager
        arguments:      [@service_container, @doctrine.orm.entity_manager]

    d2_partner_alert_utils:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerAlertUtils
        arguments:      [@service_container, @doctrine.orm.entity_manager]

    d2_partner_accounting_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerAccountingManager
        arguments:      [@service_container, @doctrine.orm.entity_manager, @d2_partner_consolidation_manager]

    d2_partner_notification_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerNotificationManager
        arguments:      [@service_container, @mailer, @templating, @doctrine.orm.entity_manager, @d2_partner_consolidation_manager]

    d2_partner_utility_manager:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerUtilityManager
        arguments:      [@service_container, @doctrine.orm.entity_manager, @d2_calc_manager]

    d2_partner_invoice_decoders:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerInvoiceDecoders
        arguments:      [@service_container]

    d2_partner_credit_note_decoders:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerCreditNoteDecoders
        arguments:      [@service_container]

    d2_partner_statement_decoders:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerStatementDecoders
        arguments:      [@service_container]

    d2_partner_statement_analysers:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerStatementAnalysers
        arguments:      [@service_container]

    d2_partner_pdf_decode:
        class:          D2\PartnerBundle\DependencyInjection\Services\PartnerPDFDecoder
        arguments:      [@service_container, @doctrine.orm.entity_manager, @d2_partner_invoice_decoders,  @d2_partner_credit_note_decoders,  @d2_partner_statement_decoders,  @d2_partner_statement_analysers]

    d2_partner_bundle.twig.partner_extension:
        class:          D2\PartnerBundle\Twig\PartnerTwigExtension
        arguments:      [@doctrine, @service_container]
        tags:
            - { name: twig.extension }
