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
|
/// <summary>
/// Mets à jour un client dans la base de données
/// </summary>
/// <param name="Id">Identifiant du client</param>
/// <param name="nom">Nom du client</param>
/// <param name="prenom">Prénom du client</param>
/// <param name="email">Adresse email du client / Nom d'utilisateur</param>
/// <param name="password">Mot de passe du client</param>
/// <param name="telephone">Numéro de téléphone du client</param>
/// <param name="telephonemobile">Numéro de téléphone mobile du client</param>
/// <param name="adresseprincipale">Adresse principale du client</param>
/// <param name="adressesecondaire">Adresse secondaire du client</param>
/// <param name="codepostale">Code postal du client</param>
/// <param name="ville">Ville où habite le client</param>
/// <param name="tvaintracom">Numéro de tva intracommunautraire de l'entreprise du client</param>
/// <param name="raisonsociale">Raison sociale de l'entreprise du client</param>
/// <param name="newsletter">Abonnement à la newsletter</param>
/// <param name="civilite">Civilité du client</param>
/// <param name="typeclient">Type de client</param>
/// <param name="pays">Pays de domiciliation du client</param>
/// <param name="nvmail">Nouvelle adresse email</param>
/// <param name="nvpass">Nouveau mot de passe</param>
/// <returns>Statut de l'opération</returns>
public bool UpdateClient(int Id, string nom, string prenom, string email, string password, string telephone,
string telephonemobile, string adresseprincipale, string adressesecondaire, int codepostale, string ville, string tvaintracom,
string raisonsociale, bool newsletter, int civilite, TypeClient typeclient, string pays, string nvmail, string nvpass)
{/*
try
{*/
using (RouteInndbDataContext db = new RouteInndbDataContext())
{
Client currentClient = db.Client.Single(c => c.id_client == Id);
currentClient.cli_nom = nom;
currentClient.cli_prenom = prenom;
currentClient.cli_telephone = telephone;
currentClient.cli_telephone_mobile = telephonemobile;
currentClient.cli_adresse1 = adresseprincipale;
currentClient.cli_adresse2 = adressesecondaire;
currentClient.cli_cp = codepostale;
currentClient.cli_ville = ville;
currentClient.cli_actif = true;
currentClient.cli_pays = pays;
currentClient.cli_newsletter = newsletter;
currentClient.id_civilite = civilite;
currentClient.id_type_client = (int)typeclient;
// Mise à jour des informations d'authentification
if (!string.IsNullOrEmpty(nvmail) && currentClient.cli_mail.Equals(email, StringComparison.InvariantCulture))
{
currentClient.cli_login = nvmail;
currentClient.cli_mail = nvmail;
}
// Mise à jour du mot de passe
if (!string.IsNullOrEmpty(password) && currentClient.cli_pass.Equals(CommonFunctions.CryptSHA1(password), StringComparison.InvariantCulture) && !string.IsNullOrEmpty(nvpass))
{
currentClient.cli_pass = CommonFunctions.CryptSHA1(nvpass);
}
switch (typeclient)
{
case TypeClient.Particulier:
if ((TypeClient)Enum.Parse(typeof(TypeClient), Enum.GetName(typeof(TypeClient), currentClient.id_type_client), true) == TypeClient.Professionnel)
{
currentClient.cli_tva_intracom = null;
currentClient.cli_raison_sociale = null;
}
break;
case TypeClient.Tous: return false; // Valeur non permise ici
case TypeClient.Professionnel:
currentClient.cli_tva_intracom = tvaintracom;
currentClient.cli_raison_sociale = raisonsociale;
break;
default:
return false; // Y'a une couille dans le potager
}
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
}
return true;/*
}
catch
{
return false;
}*/
} |
Partager