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

namespace SigCli
{
     public class Customizer : MercatorUi.ICustomizers. IFormLoadCustomizer , MercatorUi.ICustomizers. IFormClosedCustomizer
    {

         public void FormLoadCustomize(System.Windows.Forms. Form WindowsForm)
        {
            MercatorUi.Forms.Sig. SigForm sigForm = (MercatorUi.Forms.Sig. SigForm )WindowsForm;
             List < Control > l = sigForm.FindMovableControlsBySource( "C_NOM" );
             if (l.Count > 0)
            {
                MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )l[0];
                textBox.AfterRead += new MercatorUi.MovableControls. MovableTextBox . AfterReadHandler (textBox_AfterRead);
                textBox.BeforeWrite += new MercatorUi.MovableControls. MovableTextBox . BeforeWriteHandler (textBox_BeforeWrite);
                textBox.AfterWrite += new MercatorUi.MovableControls. MovableTextBox . AfterWriteHandler (textBox_AfterWrite);
            }
        }

        
         public void FormClosedCustomize(System.Windows.Forms. Form WindowsForm)
        {
            MercatorUi.Forms.Sig. SigForm sigForm = (MercatorUi.Forms.Sig. SigForm )WindowsForm;
             List < Control > l = sigForm.FindMovableControlsBySource( "C_NOM" );
             if (l.Count > 0)
            {
                MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )l[0];
                textBox.AfterRead -= new MercatorUi.MovableControls. MovableTextBox . AfterReadHandler (textBox_AfterRead);
                textBox.BeforeWrite -= new MercatorUi.MovableControls. MovableTextBox . BeforeWriteHandler (textBox_BeforeWrite);
                textBox.AfterWrite -= new MercatorUi.MovableControls. MovableTextBox . AfterWriteHandler (textBox_AfterWrite);
            }
        }

         void textBox_AfterRead( object sender, EventArgs e)
        {
            MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )sender;
            MercatorUi. Dialogs .Stop( string .Format( "La valeur lue dans la DB est \"{0}\"." , textBox.Text));
        }

         void textBox_BeforeWrite( object sender, EventArgs e)
        {
            MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )sender;
            MercatorUi. Dialogs .Stop( string .Format( "La valeur qui, en cas de modification, sera être écrite dans la DB est \"{0}\"." , textBox.Text));
        }

         void textBox_AfterWrite( object sender, EventArgs e)
        {
            MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )sender;
            MercatorUi. Dialogs .Stop( string .Format( "La valeur \"{0}\" a été écrite dans la DB." , textBox.Text));
        }

    }
}