U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Controle of het einduur later ligt dan het aanvangsuur

0000002207     -      09-10-2015

De controle of het einduur wel degelijk later ligt dan het aanvangsuur kan uitgevoerd worden met behulp van deze customizer, die in de betreffende sequenties moet worden geplaatst. Dit implementeert de volgende interfaces:

Maakt vooral gebruik van het event ProviderTimeBeforeOk van de BillingEngine van het huidige document.

De code wordt als volgt samengesteld:

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.ProviderTimeBeforeOk += new MercatorUi.Engine.Gescom.BillingEngine.ProviderTimeBeforeOkEventHandler(BillingEngine_ProviderTimeBeforeOk);
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.ProviderTimeBeforeOk -= new MercatorUi.Engine.Gescom.BillingEngine.ProviderTimeBeforeOkEventHandler(BillingEngine_ProviderTimeBeforeOk);
        }

        void BillingEngine_ProviderTimeBeforeOk(object sender, MercatorUi.Engine.Gescom.BillingEngine.ProviderTimeBeforeOkEventArgs e)
        {
            if (e.ProviderTimePanel.HourMinEnd.ValueMinutes <= e.ProviderTimePanel.HourMinBegin.ValueMinutes)
            {
                MercatorUi._Divers.FocusError(e.ProviderTimePanel.HourMinEnd); // rode kader plaatsen rond HourMinEnd
                e.Cancel = true; // proces blokkeren
            }
        }
    }
}