Volgende code toont ons hoe we de inhoud van de lijst met beschikbare kortingen kunnen wijzigen, wanneer de functie kortingen geactiveerd is. Het voorbeeld hier toont hoe we de begin- en einddatum van de promotie toevoegen.
Deze programmatie vereist 2 customizers.
De eerste customizer, Gescom, laat ons de SQL-query aanpassen die de gegevens uit de tabllen BAREMESV_PIEDS of BAREMESA_PIEDS haalt. Hier moet men de kolommen DEBUT en FIN toevoegen.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
namespace Gescom
{
public class Customizer : MercatorUi.ICustomizers.IStringUpdater
{
public string StringUpdate(string stringToModify)
{
string id = Api.StrExtract(stringToModify, "<ID>", "</ID>");
if (id.StartsWith("ALLOWANCES_FOOTERS_"))
return stringToModify.Replace("select id,intitule from", "select id,intitule,debut,fin from");
else
return stringToModify;
}
}
}
Vervolgens in de Main customizer, het evenement BaseFormCreating die het evenement AddingBaremePied van de form MercatorUi.Forms.Gescom.GescomAllowancesFootersForm.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
namespace Main
{
public class Customizer : MercatorUi.ICustomizers.IExec
{
public void Main(MercatorUi.ICustomizers.ExecAction Action)
{
if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
{
Globals.Main.BaseFormCreating += new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
}
else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
{
Globals.Main.BaseFormCreating -= new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
}
}
void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
{
if (e.Form is MercatorUi.Forms.Gescom.GescomAllowancesFootersForm)
{
MercatorUi.Forms.Gescom.GescomAllowancesFootersForm gescomAllowancesFootersForm = (MercatorUi.Forms.Gescom.GescomAllowancesFootersForm)e.Form;
gescomAllowancesFootersForm.AddingBaremePied += gescomAllowancesFootersForm_AddingBaremePied;
gescomAllowancesFootersForm.FormClosed += gescomAllowancesFootersForm_FormClosed;
}
}
void gescomAllowancesFootersForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
{
MercatorUi.Forms.Gescom.GescomAllowancesFootersForm gescomAllowancesFootersForm = (MercatorUi.Forms.Gescom.GescomAllowancesFootersForm)sender;
gescomAllowancesFootersForm.AddingBaremePied -= gescomAllowancesFootersForm_AddingBaremePied;
gescomAllowancesFootersForm.FormClosed -= gescomAllowancesFootersForm_FormClosed;
}
//Het event AddingBaremePied wordt opgeroepen, wanneer we een regel toevoegen aan de lijst.
void gescomAllowancesFootersForm_AddingBaremePied(object sender, MercatorUi.Forms.Gescom.GescomAllowancesFootersForm.AddingBaremePiedEventArgs e)
{
e.ListViewItem.Text += " "
+ Convert.ToDateTime(e.DataRow["debut"]).ToShortDateString()
+ "-"
+ Convert.ToDateTime(e.DataRow["fin"]).ToShortDateString();
}
}
}
Aanvullende informatie :
Functionaliteiten in "Tools > Kortingen"