Cette programmation montre comment empêcher certains utilisateurs de modifier ou de supprimer des remises disponibles depuis "Outils / Remises" (pieds de remises activés). L'exemple décrit comment imposer cette limitation aux utilisateurs n'appartenant pas au département M. Ensuite, le test est simplement sur le libellé du pied de remise. Le code peut être facilement adapté.
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("Suppression non autorisée !");
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("Affichage non autorisé !");
e.Cancel = true;
}
}
}
}