1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| private static bool MettreAJourLegacy(ToponymeLegacy topLegacy, ToponymeGeoDb topGeoDb)
{
if (string.IsNullOrEmpty(topGeoDb.City))
return false;
// Si le toponyme trouvé dans GeoDB est le même
// pas de mise à jour
if (TopLegacyEgalTopGeoDb(topLegacy, ref topGeoDb))
return false;
if (GlobalConfig.RechercheStricte)
{
if (topLegacy.Decodage.Interprete && !string.IsNullOrEmpty(topLegacy.Decodage.Etat))
{
var reponse = MessageBox.Show(topLegacy.Decodage.Etat, "Association à confimer",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (reponse == DialogResult.No)
return false;
}
}
CopierToponymeGeoDbDansLegacy(ref topLegacy, ref topGeoDb);
var com = topLegacy.Location.Replace("'", "''");
var query = "UPDATE tblLR " +
"SET Location = '" + com + "' " +
", SortedLocation = '" + com + "' " +
", ShortName= '" + topLegacy.ShortName.Replace("'", "''") + "' " +
", Latitude = '" + topLegacy.Latitude + "' " +
", Longitude = '" + topLegacy.Longitude + "' " +
" WHERE (IDLR = " + topLegacy.Idlr + " );";
var dBcon = new OleDbConnection(Legacy.ConString);
var cmd = new OleDbCommand(query, dBcon);
using (dBcon)
{
try
{
dBcon.Open();
cmd.ExecuteNonQuery();
return true;
}
catch (OleDbException ex)
{
string msg = ex.Message + "\n Erreur dans MettreAJourLegacy avec comme arguments: " +
"\n topLegacy = " + topLegacy.Idlr + " " + topLegacy.ToString() +
"\n topGeoDB = " + topGeoDb.ToString();
Program.ReportCrash(ex, msg);
MessageBox.Show(msg, "Erreur fatale dans la méthode MettreAJourLegacy()",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
return false;
}
}
} |
Partager