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) // si impression étiquettes "aucune"
                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) // quand on compare des doubles/floats, il faut obligatoirement arrondir, car tout réel ne peut être représenté
            {
                int i = MercatorUi.Dialogs.Answer3Buttons("Le prix de vente à changé. Voulez-vous imprimer des étiquettes ?", Api.Iif_langue(Globals.Langue, 2), Api.Iif_langue(Globals.Langue, 3), Api.Iif_langue(Globals.Langue, 1)); // Oui, Non, Annuler
                if (i == 3) // Annuler
                    return false;
                if (i == 1)
                    sigForm.Sig.Labels(sigForm, true, sigForm.DataSourceRow);
            }
            return true; // on ne bloque pas le processus de validation
        }
    }
}