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

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

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.BillingFormLoaded += BillingEngine_BillingFormLoaded;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.BillingFormLoaded -= BillingEngine_BillingFormLoaded;
        }

        void BillingEngine_BillingFormLoaded(object sender, EventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            var bleuPro = billingEngine.BillingForm.Controls.OfType<MercatorUi.BoutonsPro.BleuPro>().FirstOrDefault(); // on a identifié le bandeau dans le bas de l'écran
            if (bleuPro != null)
            {
                MercatorUi.BoutonsPro.ButtonXPro buttonLignes = bleuPro.Controls.OfType<MercatorUi.BoutonsPro.ButtonXPro>().FirstOrDefault(b => b.Name == "lignes");
                if (buttonLignes != null)
                {
                    buttonLignes.SubItems[2].Enabled = false; // disabler "Supprimer ligne"
                    buttonLignes.SubItems[3].Enabled = false; // disabler "Supprimer toutes les lignes"
                }
            }
        }
    }
}