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

namespace SigDest
{
    public class Customizer : MercatorUi.ICustomizers.ISigCreated
    {

        public void SigCreated(MercatorUi.Sig.Sig Sig)
        {
            Sig.BeforeRecordDelete += new MercatorUi.Sig.Sig.BeforeRecordDeleteEventHandler(Sig_BeforeRecordDelete);
        }

        void Sig_BeforeRecordDelete(object sender, MercatorUi.Sig.Sig.BeforeRecordDeleteEventArgs e)
        {
            string reqSql = "declare @ret bit \r\n"
                          + "if exists(select * from ACTIONS (NOLOCK) where (module='DEST') and (id_sig=@id)) \r\n"
                          + "    set @ret=1 \r\n"
                          + "else \r\n"
                          + "    set @ret=0 \r\n"
                          + "select @ret as ret";
            DataSet ds = Api.Zselect(Globals.RepData, reqSql, new MercatorSqlParam("@id", e.Record["d_id"], SqlDbType.Char));
            if (ds == null) // Er is een SQL-fout vastgesteld.
            {
                e.Cancel = true;
            }
            else if (Convert.ToBoolean(ds.Tables[0].Rows[0]["ret"]))
            {
                MercatorUi.Dialogs.Stop("U kunt deze fiche niet schrappen, want er zijn acties aan verbonden!");
                e.Cancel = true;
            }
        }

    }
}