using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;
using System.Reflection;
namespace SigStock
{
public class Customizer : MercatorUi.ICustomizers.ISigCreated
{
public void SigCreated(MercatorUi.Sig.Sig Sig) // Mercator moet opnieuw worden opgestart opdat het programma rekening zou houden met de wijzigingen die via SigCreated aan de customizer werden aangebracht.
{
Sig.Filtering += new MercatorUi.Sig.Sig.FilteringEventHandler(Sig_Filtering);
}
void Sig_Filtering(object sender, MercatorUi.Sig.Sig.FilteringEventArgs e)
{
// filter tonen
MercatorUi.Dialogs.Stop("De volgende filter zal worden toegepast: " + e.WhereClause);
// Ook te zien in e:
// e.Mode: geeft aan of er al dan niet op expression wordt gefilterd
// e.SigForm : SigForm vanaf waar de filtering werd opgestart
// hoe de huidige filter annuleren?
if (MercatorUi.Dialogs.AnswerYesNo("Wenst u de filter te annuleren?"))
{
e.WhereClause = ""; // door de WhereClause opnieuw leeg te plaatsen, wordt de huidige filter geannuleerd
return;
}
// de filter op S_ID_RAYON annuleren: dit gedeelte van de clause heeft de vorm " and (STOCK.S_ID_RAYON='ABCDEFGHIJ')"
if (e.WhereClause.Contains("STOCK.S_ID_RAYON"))
{
string s_id_rayon = Api.StrExtract(e.WhereClause, "STOCK.S_ID_RAYON='", "')");
e.WhereClause = e.WhereClause.Replace(" and (STOCK.S_ID_RAYON='" + s_id_rayon + "')", "");
}
}
}
}