namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.BeforeUpdateAmounts += BillingEngine_BeforeUpdateAmounts;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.BeforeUpdateAmounts -= BillingEngine_BeforeUpdateAmounts;
}
private void BillingEngine_BeforeUpdateAmounts(object sender, MercatorUi.Engine.Gescom.BillingEngine.UpdateAmountsEventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
foreach (DataRow dr in e.DtLignes.Select("id_article<>''"))
{
if (billingEngine.PiedsVRecord.REGIME != RegimesEnum.VatIncluded)
Api.SmartReplace(dr, "remise_net_dv9", -dr.Value<double>("s_bebat"));
else
Api.SmartReplace(dr, "remise_net_dv9", Math.Round(-dr.Value<double>("s_bebat") * (1 + dr.Value<double>("taux_tva") / 100), 5), 5);
}
}
}
}