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

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.IFormValidateCustomizer
    {
        public bool FormValidateCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            if (sigForm.StockRecord.S_ETIQ <= 1) // als afdruk etiketten = "geen"
                return true;
            double s_prix_ti_current = sigForm.StockRecord.S_PRIX_TI;
            double s_prix_ti_old = Convert.ToDouble(sigForm.DataSourceRow["S_PRIX_TI", DataRowVersion.Original]);
            if (s_prix_ti_current.CompareTo(s_prix_ti_old, 5) != 0) // Bij vergelijking van de doubles/floats moet men verplicht afronden, want niet ieder reëel getal kan worden weergegeven.
            {
                int i = MercatorUi.Dialogs.Answer3Buttons("De verkoopprijs werd aangepast. Wilt u etiketten afdrukken?", Api.Iif_langue(Globals.Langue, 2), Api.Iif_langue(Globals.Langue, 3), Api.Iif_langue(Globals.Langue, 1)); // Ja, Neen, Annuleren
                if (i == 3) // Annuleren
                    return false;
                if (i == 1)
                    sigForm.Sig.Labels(sigForm, true, sigForm.DataSourceRow);
            }
            return true; // Het validatieproces wordt niet geblokkeerd.
        }
    }
}