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; // bij interactieve import, niets doen

            // Nakijken of de kolom S_ID bestaat
            if (!e.DataTableImport.Columns.Contains("S_ID"))
            {
                Dialogs.Stop("De kolom S_ID bestaat niet!");
                e.CancelImport = true;
                return;
            }
            // Nakijken of er geen enkele lijn s_id='BBBA' bevat
            DataRow[] foundRows = e.DataTableImport.Select("s_id='BBBA'");
            if (foundRows.Length > 0)
            {
                if (!Dialogs.AnswerYesNo("Een bestand met één of meerdere lijnen waar S_ID de waarde BBBA bevat kan niet worden geïmporteerd!\r\nDeze lijn(en) verwijderen ?"))
                {
                    e.CancelImport = true;
                }
                else
                {
                    foreach (DataRow dr in foundRows)
                        e.DataTableImport.Rows.Remove(dr);

                    if (e.DataTableImport.Rows.Count == 0)
                    {
                        Dialogs.Stop("Er is geen enkele lijn meer te importeren !");
                        e.CancelImport = true;
                    }
                }
            }
        }
    }
}