<?php
require_once WD . '/modules/economic/config/economic_invoice_layout_c.php';
require_once WD . '/modules/economic/config/economic_payment_terms_c.php';
require_once WD . '/modules/economic/config/economic_admin_fee_monthly_c.php';
require_once WD . '/modules/economic/config/economic_admin_fee_order_c.php';
require_once WD . '/modules/economic/config/economic_fee_product_id_c.php';

use config\economic_invoice_layout_c;
use config\economic_payment_terms_c;
use config\economic_admin_fee_monthly_c;
use config\economic_admin_fee_order_c;
use config\economic_fee_product_id_c;
use traits\module_config_t;

class economic_c
{
    use module_config_t;

    public economic_invoice_layout_c $invoice_layout;
    public economic_payment_terms_c $payment_terms;
    public economic_admin_fee_monthly_c $admin_fee_monthly;
    public economic_admin_fee_order_c $admin_fee_order;
    public economic_fee_product_id_c $fee_product_id;

    public function __construct()
    {
        $this->setupConfig('economic');
        $this->allowUpdate([
            economic_invoice_layout_c::class,
            economic_payment_terms_c::class,
            economic_admin_fee_monthly_c::class,
            economic_admin_fee_order_c::class,
            economic_fee_product_id_c::class
        ]);
        $this->invoice_layout = new economic_invoice_layout_c();
        $this->payment_terms = new economic_payment_terms_c();
        $this->admin_fee_monthly = new economic_admin_fee_monthly_c();
        $this->admin_fee_order = new economic_admin_fee_order_c();
        $this->fee_product_id = new economic_fee_product_id_c();
    }
}