using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;
using MercatorExtensions;
using MercatorUi.BarcodeTerm;
// <CompileWithRoslyn />
namespace BarcodeTerm
{
public class Customizer : MercatorUi.ICustomizers.IBarcodeTermCreated, MercatorUi.ICustomizers.IBarcodeTermClosed
{
public void BarcodeTermCreated(MercatorUi.BarcodeTerm.BarcodeTerm barcodeTerm)
{
if (barcodeTerm is BarcodeTermPTPENGUIN ptPenguin)
{
ptPenguin.DataTableCreated += DataTableCreated;
ptPenguin.BeforeSave += BeforeSave;
}
}
public void BarcodeTermClosed(MercatorUi.BarcodeTerm.BarcodeTerm barcodeTerm)
{
if (barcodeTerm is BarcodeTermPTPENGUIN ptPenguin)
{
ptPenguin.DataTableCreated -= DataTableCreated;
ptPenguin.BeforeSave -= BeforeSave;
}
}
void DataTableCreated(object sender, BarcodeTermPTPENGUIN.DataTableCreatedEventArgs e)
{
if (!e.DataTable.Columns.Contains("mycol"))
{
e.DataTable.Columns.Add("mycol", typeof(string));
foreach (DataRow dr in e.DataTable.Rows)
dr["mycol"] = "";
}
}
void BeforeSave(object sender, BarcodeTermPTPENGUIN.BeforeSaveEventArgs e)
{
BarcodeTermPTPENGUIN ptPenguin = (BarcodeTermPTPENGUIN) sender;
if (!ptPenguin.PenguinBeforeSaveAnswers.ContainsKey(1))
{
e.PenguinQuestion = new MercatorPenguin.Question
{
Id = 1,
Text = "Confirmer dans customizer ?",
Type = MercatorPenguin.Question.QuestionTypeEnum.YesNo,
AbortIfCancel = true
};
return;
}
...
}
}
}