using MercatorApi;
using MercatorUi;
using System.Drawing;
using System.Windows.Forms;
namespace SigStock
{
public class Customizer : MercatorUi.ICustomizers.ISigCreated
{
public void SigCreated(MercatorUi.Sig.Sig Sig)
{
Sig.BeforeSearch += new MercatorUi.Sig.SigClasses.BeforeSearchEventHandler(Sig_BeforeSearch);
}
void Sig_BeforeSearch(object sender, MercatorUi.Sig.SigClasses.BeforeSearchEventArgs e)
{
if ((e.FormContext == null) || !(e.FormContext is MercatorUi.Forms.Billing.BillingForm) || (((MercatorUi.Forms.Billing.BillingForm)e.FormContext).BillingEngine.TypeVA != MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V)) // on n'est pas dans un document de vente
return;
if (e.OriginalKey.Length != 13) // cette clé n'est certainement pas un EAN13
return;
if (!e.OriginalKey.StartsWith("1234567")) // la clé de recherche ne commence pas par 1234567
return;
double cents;
if (!double.TryParse(e.OriginalKey.Substring(7, 5), out cents)) // le prix attendu à partir du caractère n° 8 n'est pas sous forme numérique
return;
e.DesiredWhereClause = "(s_id='MY_S_ID')";
e.ForcedPricingInfosV = new MercatorUi.Engine.Gescom.BillingEngine.PricingInfosV();
e.ForcedPricingInfosV.Prix = cents / 100;
}
}
}