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


namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                MercatorUi.McdClient.McdClientStatic.BeforeExport += new MercatorUi.McdClient.McdClientStatic.BeforeExportEventHandler(McdClientStatic_BeforeExport);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                MercatorUi.McdClient.McdClientStatic.BeforeExport -= new MercatorUi.McdClient.McdClientStatic.BeforeExportEventHandler(McdClientStatic_BeforeExport);
            }
        }

        void McdClientStatic_BeforeExport(MercatorUi.McdClient.McdClientStatic.BeforeExportEventArgs e)
        {
            if (e.DicoBase.ContainsKey(MercatorUi.McdClient.McdClientClasses.McdBaseDicoKeyEnum.OutReps))
            {
                e.DicoBase.Remove(MercatorUi.McdClient.McdClientClasses.McdBaseDicoKeyEnum.OutReps);
            }

            if (e.DicoBase.ContainsKey(MercatorUi.McdClient.McdClientClasses.McdBaseDicoKeyEnum.OutMagasins) && e.DicoBase[MercatorUi.McdClient.McdClientClasses.McdBaseDicoKeyEnum.OutMagasins].Selected)
            {
                e.SbErr.AppendLine("De magazijnen kunnen niet geëxporteerd worden !!!");
                e.Cancel = true;
            }
        }
    }
}