Cette page montre un exemple de customizer pour l'écran de modification d'un transfert entre dépôts. Le code source est fourni dans le zip disponible ci-dessous.
Le code repris ci-dessous montre comment afficher une confirmation avant la sauvegarde. Celle-ci reprenant les noms des dépôts concernés par le transfert.
using MercatorPenguin;
using MercatorPenguin.EditCustomizers;
namespace TestPenguinCustomizerTransfer
{
public class CustomizerTransfer : BaseEditTransferCustomizer
{
public CustomizerTransfer(ConstructorParams constructorParams) :
base(constructorParams)
{ }
public override async Task OnBeforeSaveAsync(BeforeSaveEventArgs e)
{
IEditPicker editPickerPiedIdDepot1 = Controls.OfType<IEditPicker>().FirstOrDefault(c => c.Source?.Equals("ID_DEPOT1", StringComparison.InvariantCultureIgnoreCase) ?? false);
IEditPicker editPickerPiedIdDepot2 = Controls.OfType<IEditPicker>().FirstOrDefault(c => c.Source?.Equals("ID_DEPOT2", StringComparison.InvariantCultureIgnoreCase) ?? false);
if ((editPickerPiedIdDepot1 == null) || (editPickerPiedIdDepot2 == null))
{
await Dialogs.Stop(Page, "Erreur : Impossible de trouver les EditPickers liés à ID_DEPOT1 et/ou ID_DEPOT2 !");
return;
}
if (!await Dialogs.AnswerYesNo(Page, $"Voulez-vous vraiment enregistrer les modifications sur ce transfert de \"{editPickerPiedIdDepot1.DisplayValue}\" vers \"{editPickerPiedIdDepot2.DisplayValue}\" ?"))
{
e.CancelSave = true;
}
}
}
}
Les codes d'exemple montrés pour l'écran Billing peuvent être aussi implémentés pour les transferts entre dépôts.
A télécharger :
0000003453.zip (1 Kb - 13/05/2026)