using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using MercatorDatabase;
using System.Windows.Forms;
// <CompileWithRoslyn />
namespace SigCli
{
public class Customizer : MercatorUi.ICustomizers.IFormValidateCustomizer
{
public bool FormValidateCustomize(Form form)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
if (string.IsNullOrWhiteSpace(sigForm.CliRecord.C_ID) // nouvelle fiche
|| !sigForm.DataSourceRow["c_adresse"].Equals(sigForm.DataSourceRow["c_adresse", DataRowVersion.Original])
|| !sigForm.DataSourceRow["c_codep"].Equals(sigForm.DataSourceRow["c_codep", DataRowVersion.Original])
|| !sigForm.DataSourceRow["c_ville"].Equals(sigForm.DataSourceRow["c_ville", DataRowVersion.Original])
)
{
MercatorUi.Wait.WaitStatic.WaitWindow("Ophalen GPS positie...");
var latLng = Api.GeoCoderHere("apiKey=XxXz1xXXyyyZZZ12abcdefgh_1234567890azertyuio", sigForm.CliRecord.C_ADRESSE + " " + sigForm.CliRecord.C_CODEP + " " + sigForm.CliRecord.C_VILLE, out string error);
MercatorUi.Wait.WaitStatic.WaitClear();
if (latLng == null)
{
MercatorUi.Dialogs.Stop("Ophalen GPS positite : " + error);
return false;
}
else
{
sigForm.CliRecord.C_LAT = latLng[0];
sigForm.CliRecord.C_LONG = latLng[1];
return true;
}
}
return true;
}
}
}