using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;

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

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Globals.Main.BaseFormCreating += new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            if (e.Form is MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting)
            {
                MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting accountingAskPostIntoAccouting = (MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting)e.Form;
                accountingAskPostIntoAccouting.Shown += new EventHandler(accountingAskPostIntoAccouting_Shown);
            }
        }

        void accountingAskPostIntoAccouting_Shown(object sender, EventArgs e)
        {
            MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting accountingAskPostIntoAccouting = (MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting)sender;
            accountingAskPostIntoAccouting.Shown -= new EventHandler(accountingAskPostIntoAccouting_Shown);

            DevComponents.AdvTree.Node node_ventes = accountingAskPostIntoAccouting.Tree.Nodes[0];
            foreach (MercatorUi._BaseClasses.DataRowNode node in node_ventes.Nodes)
            {
                if (node.Dr["journal"].ToString() == "NCV")
                {
                    node.Checked = false;
                    node.Enabled = false;
                    break;
                }
            }
        }

    }
}