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

namespace Booking
{
    public class Customizer : MercatorUi.ICustomizers.IBookingEngineCreated, MercatorUi.ICustomizers.IBookingEngineClosed
    {
        public void BookingEngineCreated(MercatorUi.Engine.Cpta.BookingEngine BookingEngine)
        {
            BookingEngine.BeforeInsertAccount += BookingEngine_BeforeInsertAccount;
        }

        public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine BookingEngine)
        {
            BookingEngine.BeforeInsertAccount -= BookingEngine_BeforeInsertAccount;
        }

        void BookingEngine_BeforeInsertAccount(object sender, MercatorUi.Engine.Cpta.BookingEngine.BeforeInsertAccountEventArgs e)
        {
            if (e.Sig.Module == MercatorUi.Sig._SigEnum.GEN) // on teste si on inscrit un compte général : ce sera toujours le cas dans une vente ou un achat
            {
                if (Dialogs.AnswerYesNo(string.Format("Réellement choisir le compte général \"{0}\" ?", e.GenRecord.G_NOM)))
                    e.LignesCRecord.COMMENTAIR = e.GenRecord.G_NOM;
                else
                    e.CancelInsertAccount = true; // ce flag indique à Mercator qu'on refuse la sélection de ce compte général
            }
        }
    }
}