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

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.ISigCreated
    {

        public void SigCreated(MercatorUi.Sig.Sig sig)
        {
            sig.Importing += new MercatorUi.Sig.SigClasses.ImportingEventHandler(sig_Importing);
        }

        private void sig_Importing(object sender, MercatorUi.Sig.SigClasses.ImportingEventArgs e)
        {
            if (e.ForExternalFile)
                return; // en import interactif, on ne fait rien

            // Vérifier que la colonne S_ID existe
            if (!e.DataTableImport.Columns.Contains("S_ID"))
            {
                Dialogs.Stop("La colonne S_ID n'existe pas !");
                e.CancelImport = true;
                return;
            }
            // Vérifier que sur aucune ligne s_id='BBBA'
            DataRow[] foundRows = e.DataTableImport.Select("s_id='BBBA'");
            if (foundRows.Length > 0)
            {
                if (!Dialogs.AnswerYesNo("Vous ne pouvez pas importer un fichier avec une ou plusieurs lignes où S_ID vaut BBBA !\r\nSupprimer cette/ces ligne(s) ?"))
                {
                    e.CancelImport = true;
                }
                else
                {
                    foreach (DataRow dr in foundRows)
                        e.DataTableImport.Rows.Remove(dr);

                    if (e.DataTableImport.Rows.Count == 0)
                    {
                        Dialogs.Stop("Il n'y a plus aucune ligne à importer !");
                        e.CancelImport = true;
                    }
                }
            }
        }
    }
}