namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
            billingEngine.MeasurementCriteriaAfterUpdateAmounts += billingEngine_MeasurementCriteriaAfterUpdateAmounts;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
            billingEngine.MeasurementCriteriaAfterUpdateAmounts -= billingEngine_MeasurementCriteriaAfterUpdateAmounts;
        }

        void billingEngine_MeasurementCriteriaAfterUpdateAmounts(object sender, MercatorUi.Engine.Gescom.BillingEngine.MeasurementCriteriaAfterUpdateAmountsEventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            if ((e.StockRecord.S_CONDIT_V.CompareTo(0d, Globals.N_DEC_Q) > 0) && e.DataRowStock["s_unite_v"].Equals(e.DataRowStock["s_cri_unit"]))
                e.ComputedQ = billingEngine.ArrCondit(e.ComputedQ, e.StockRecord.S_CONDIT_V);
        }
    }
}