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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
public void saveClient(Client client, bool creation)
{
try
{
// si la connexion n'est pas déjà ouverte
if (connexion.State != System.Data.ConnectionState.Open)
connexion.Open();
//cmd = connexion.CreateCommand();
/*
// RECUPERATION DE L'ID le plus grand
int max_nucli = 0;
cmd.CommandText = "SELECT MAX(NUCLI) FROM Client";
SqlCeDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
max_nucli = int.Parse(SQLHelper.getStringFromReader(reader, 0));
}
reader.Close();
*/
// ce n'est pas une info provisoire, on enregistre dans la table client
string listeChamps = "NUCLI, ADFA1, ADFA2, ADFA3, ADFA4, ADFA5, CPAFA, ADFA6, MAILF, " +
"TELFC, TLCFC, ADLI1, ADLI2, ADLI3, ADLI4, ADLI5, CPALI, ADLI6, " +
"MAILL, TELLC, TLCLC, CODVE, SEREP, COPAI, COMAJ, COFRE, COFRP, " +
"BLOCNOTES";
string valeurs = client.SNUCLI+", '"+
SQLHelper.encodeField(client.SADFA1)+"', '"+
SQLHelper.encodeField(client.SADFA2)+"', '"+
SQLHelper.encodeField(client.SADFA3)+"', '"+
SQLHelper.encodeField(client.SADFA4)+"', '"+
SQLHelper.encodeField(client.SADFA5)+"', ";
if (client.SCPAFA.Length != 0)
{
valeurs = valeurs + client.SCPAFA + ", ";
}
else
valeurs = valeurs + "0, ";
valeurs = valeurs + "'"+
SQLHelper.encodeField(client.SADFA6)+"', '"+
SQLHelper.encodeField(client.SMAILF)+"', '"+
SQLHelper.encodeField(client.STELFC)+"', '"+
SQLHelper.encodeField(client.STLCFC)+"', '"+
SQLHelper.encodeField(client.SADLI1)+"', '"+
SQLHelper.encodeField(client.SADLI2)+"', '"+
SQLHelper.encodeField(client.SADLI3)+"', '"+
SQLHelper.encodeField(client.SADLI4)+"', '"+
SQLHelper.encodeField(client.SADLI5)+"', ";
if (client.SCPALI.Length != 0)
{
valeurs = valeurs + client.SCPALI + ", ";
}
else
valeurs = valeurs + "0, ";
valeurs = valeurs +"'"+
SQLHelper.encodeField(client.SADLI6)+"', '"+
SQLHelper.encodeField(client.SMAILL)+"', '"+
SQLHelper.encodeField(client.STELLC)+"', '"+
SQLHelper.encodeField(client.STLCLC)+"', "+
client.Departement.Id+ ", " +
client.Secteur+", " +
client.CodePaiement+", ";
cmd = connexion.CreateCommand();
if (creation)
{
// on ajoute un client
valeurs += "'C', '";
}
else
{
// on met à jour
//suppression
cmd.CommandText = "DELETE FROM Client WHERE NUCLI="+client.SNUCLI+" AND CODVE="+client.Departement.Id;
if (client.Secteur.Trim().Length > 0)
cmd.CommandText += " AND SEREP="+client.Secteur;
// exécution de la requête
cmd.ExecuteNonQuery();
//ajout
cmd = connexion.CreateCommand();
//cmd.CommandText = "INSERT INTO Client (" +listeChamps+ ") VALUES ("+ valeurs;
if (client.CodeMAJ == "C")
{
// on modifie un client créé et non répliqué
valeurs += "'C', '";
}
else
{
valeurs += "'M', '";
}
valeurs += client.CodeEmballage+ "', '" + client.CodePort+"', '";
valeurs = valeurs.ToUpper();
//valeurs += SQLHelper.encodeField(client.BlocNotes) + "'";
valeurs += " '";
cmd.CommandText = "INSERT INTO Client (" + listeChamps + ") VALUES (" + valeurs + ")";
}
// exécution de la requête
cmd.ExecuteNonQuery();
}
catch (SqlCeException ex)
{
throw new DogaException("Erreur lors de la sauvegarde client (creation="+creation+")"+SQLHelper.getRequest(cmd),ex);
}
catch (InvalidOperationException e)
{
throw new DogaException("Erreur " + e);
}
finally
{
if (connexion != null)
connexion.Close();
}
} |
Partager