using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorController;
using System.Windows.Forms;

namespace MercatorUi.MovableControls.ButtonsCodes
{
    public static class Script
    {

        public static void Exec(MercatorUi.MovableControls.MovableButton clickedButton)
        {
            // enter your customized code here
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)clickedButton.Form;
            string c_id = sigForm.DataSourceRow["c_id"].ToString().Trim();
            if (c_id == "") // nouvelle fiche non encore sauvegardée
                return;

            string c_id2 = Dialogs.AskTargetSig("Fusionner avec quel client ?", Sig._SigEnum.CLI);
            if (string.IsNullOrEmpty(c_id2))
                return;

            if (!MercatorUi.Dialogs.AnswerYesNo(string.Format("Réellement fusionner les clients \"{0}\" et \"{1}\" ? La fiche de \"{1}\" sera définitivement détruite.", c_id, c_id2)))
                return;

            sigForm.Sig.MergeCode(c_id2, c_id, new Delegates.GenericDelegateString1String(stringUpdate));
        }

        private static string stringUpdate(string reqSql)
        {
            return reqSql + "\r\n\r\n"
                          + "update table_perso_sans_fk set id_cli=@new_code where id_cli=@old_code";
        }
    }
}