Deze programmatie toont hoe men kan verhinderen dat bepaalde gebruikers kortingen wijzigen of verwijderen die beschikbaar zijn via “Tools/ Kortingen” (geactiveerde hoofdingskortingen). Het voorbeeld beschrijft hoe deze beperking kan worden opgelegd aan gebruikers die niet tot departement M behoren. Vervolgens gebeurt de controle eenvoudigweg op het label van de hoofdingskorting. De code kan gemakkelijk worden aangepast.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;
// <CompileWithRoslyn />
namespace Gescom
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
{
public void FormLoadCustomize(Form form)
{
if (form is MercatorUi.Forms.Gescom.GescomAllowancesFootersForm gescomAllowancesFootersForm && (gescomAllowancesFootersForm.TypeVA == MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V))
{
gescomAllowancesFootersForm.DeletedBaremePied += GescomAllowancesFootersForm_DeletedBaremePied;
gescomAllowancesFootersForm.OpeningBareme += GescomAllowancesFootersForm_OpeningBareme;
}
}
public void FormClosedCustomize(Form form)
{
if (form is MercatorUi.Forms.Gescom.GescomAllowancesFootersForm gescomAllowancesFootersForm && (gescomAllowancesFootersForm.TypeVA == MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V))
{
gescomAllowancesFootersForm.DeletedBaremePied -= GescomAllowancesFootersForm_DeletedBaremePied;
gescomAllowancesFootersForm.OpeningBareme -= GescomAllowancesFootersForm_OpeningBareme;
}
}
private void GescomAllowancesFootersForm_DeletedBaremePied(object sender, MercatorUi.Forms.Gescom.GescomAllowancesFootersForm.DeletedBaremePiedEventArgs e)
{
if (!Globals.CurrentUserRecord.DEPT.Contains("M") && e.ListViewItem.Text.Contains("string"))
{
Dialogs.Stop("Verwijdering niet toegestaan!");
e.Cancel = true;
}
}
private void GescomAllowancesFootersForm_OpeningBareme(object sender, MercatorUi.Forms.Gescom.GescomAllowancesFootersForm.OpeningBaremeEventArgs e)
{
if (!Globals.CurrentUserRecord.DEPT.Contains("M") && e.ListViewItem.Text.Contains("string"))
{
Dialogs.Stop("Weergave niet toegestaan!");
e.Cancel = true;
}
}
}
}