using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using MercatorApi;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
{
BillingEngine.AfterBo += BillingEngine_AfterBo;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
{
BillingEngine.AfterBo -= BillingEngine_AfterBo;
}
void BillingEngine_AfterBo(object sender, MercatorUi.Engine.Gescom.BillingEngine.AfterBoEventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
foreach(MercatorDatabase.LIGNES_V l in billingEngine.LignesVRecords.Where(l => l.NO_BO))
{
DataRow[] foundRows;
if (l.GENERIQ)
foundRows = e.LinesOriginalDocument.Select(string.Format("(id_article='{0}') and (designatio='{1}') and (serie=0)",
Api.UnquoteSql(l.ID_ARTICLE), Api.UnquoteSql(l.DESIGNATIO)));
else
foundRows = e.LinesOriginalDocument.Select(string.Format("(id_article='{0}') and (serie=0)",
Api.UnquoteSql(l.ID_ARTICLE)));
foreach (DataRow dr2 in foundRows)
e.LinesOriginalDocument.Rows.Remove(dr2);
}
}
}
}