using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
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);
        }

        // permet de faire une recherche sur le +
        void Sig_BeforeSearch(object sender, MercatorUi.Sig.SigClasses.BeforeSearchEventArgs e)
        {
            if (e.Key.StartsWith(Api.Chr(20)) && (e.FormContext is MercatorUi.Forms.Billing.BillingForm))
                e.Key = e.Key.Substring(1);

            if (e.OriginalKey.Contains("+"))
            {
                string[] splits = e.OriginalKey.Split('+');
                List<string> desiredWhereClauses = new List<string>(splits.Length);

                foreach (string split in splits)
                    desiredWhereClauses.Add(string.Format("(s_modele like '%{0}%')", Api.UnquoteSql(split)));

                e.DesiredWhereClause = string.Join(" AND ", desiredWhereClauses);
            }
        }
    }
}