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;
}
}
}
}
}
}