using System.Text;
using System.Data;
using MercatorApi;
using MercatorController;
using System.Data.SqlClient;
namespace MercatorUi.MovableControls.ButtonsCodes
{
public static class Script
{
public static void Exec(MercatorUi.MovableControls.MovableButton clickedButton)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)clickedButton.Form;
if (!sigForm.Sig.Write(sigForm)) // Voorstellen om de actieve fiche op te slaan, indien nodig.
return;
int n_record = 0;
using (MercatorSqlConnection connSql = new MercatorSqlConnection(Globals.RepData, true)) // Creatie van een verbinding met de SQL DB
{
if (connSql.Connection == null) // De SQL-verbinding is geweigerd.
return;
using (SqlTransaction transac = connSql.Connection.BeginTransaction()) // We gaan het geheel uitvoeren onder transactie. Dat is niet verplicht: we kunnen ook null invoeren in plaats van transac bij ScriptsApplyToSomeRecords.
{
if (sigForm.Sig.ScriptsApplyToSomeRecords("select stock.*,guid,assembly from stock (NOLOCK) inner join assemblies on (assemblies.id='SCR-STOCK '+stock.s_calcul)" + (sigForm.Filter != "" ? " where " + sigForm.Filter : "") + " order by s_calcul", connSql, transac, true, true, ref n_record))
{
transac.Commit();
Dialogs.Stop(Api.Iif_langue(Globals.Langue, 14) + "\r\n" + _Divers.Iif_langue(Globals.Langue, "Records affected : ", "Gewijzigde records: ", "Enregistrements concernés : ") + n_record);
}
else
Api.SafeRollback(transac);
}
}
}
}
}