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("Verwijdering niet toegestaan!");
                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("Weergave niet toegestaan!");
                e.Cancel = true;
            }
        }
    }
}