Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Exemple de customizer MercatorPenguin : transferts entre dépôts

0000003453     -      13/05/2026

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.

Zoom
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)


Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)