using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;
namespace Gescom
{
public class Customizer : MercatorUi.ICustomizers.IStringUpdater, MercatorUi.ICustomizers.IDialogLoadCustomizer
{
// modifier la requête SQL pour obtenir une colonne supplémentaire
public string StringUpdate(string StringToModify)
{
string id = Api.StrExtract(StringToModify, "<ID>", "</ID>");
if ((id == "SEL_DOC_DELIVERIES_INVOICING") && StringToModify.Contains("id_cli"))
{
string tmp = Api.StrExtract(StringToModify, "tempdb..##pieds_auto_", "')"); // obtenir la partie variable du nom de la table ##pieds_auto
StringToModify = StringToModify.Replace(string.Format("##pieds_auto_{0}.id,", tmp), string.Format("##pieds_auto_{0}.id,##pieds_auto_{0}.id_cli_liv,", tmp));
}
return StringToModify;
}
// ajouter une colonne dans l'écran de sélection des BL
public void DialogLoadCustomize(System.Windows.Forms.Form WindowsForm)
{
if (WindowsForm is MercatorUi.Forms.Gescom.GescomDialogs.GescomAutomaticProceduresSelectDocs)
{
MercatorUi.Forms.Gescom.GescomDialogs.GescomAutomaticProceduresSelectDocs gescomAutomaticProceduresSelectDocs = (MercatorUi.Forms.Gescom.GescomDialogs.GescomAutomaticProceduresSelectDocs)WindowsForm;
DataTable dt = (DataTable)gescomAutomaticProceduresSelectDocs.Grid.DataSource;
if (dt.Columns.Contains("id_cli_liv")) // est-on bien dans le cas "facturation des livraisons clients" ?
{
gescomAutomaticProceduresSelectDocs.Grid.Columns.Add("id_cli_liv", "Id Client Livr.");
gescomAutomaticProceduresSelectDocs.Grid.Columns["id_cli_liv"].Width = 75;
gescomAutomaticProceduresSelectDocs.Grid.Columns["id_cli_liv"].DataPropertyName = "id_cli_liv";
}
}
}
}
}