public ActionResult Edit(ProprietaireViewModel pProprietaire) { if (Request.IsAuthenticated) { try { GestionnaireProprietaires gestionnaireProprietaires = new GestionnaireProprietaires(); Proprietaire p = new Proprietaire(); p.Code = pProprietaire.Code; p.Adresse = pProprietaire.Adresse; p.CP = pProprietaire.CP; p.Login = pProprietaire.Login; p.Nom = pProprietaire.Nom; p.Prenom = pProprietaire.Prenom; p.Ville = pProprietaire.Ville; p.PasswordHash = pProprietaire.PasswordHash; if (!String.IsNullOrEmpty(pProprietaire.NewPassword)) { if (!p.VerifyHash(pProprietaire.OldPassword)) { throw new Exception("L'ancien mot de passe est erroné"); } if (String.IsNullOrEmpty(pProprietaire.ConfirmPassword) || !pProprietaire.ConfirmPassword.Equals(pProprietaire.NewPassword)) { throw new Exception("Le mot de passe de confirmation n'est pas identique au nouveau mot de passe"); } } //Mise à jour de la liste en mémoire DataManager.ListeProprietaires = gestionnaireProprietaires.ModifierProprietaire(p, p.CalculateHash(pProprietaire.NewPassword)); return RedirectToAction("Details", new { pCode = pProprietaire.Code }); } catch (Exception ex) { HandleErrorInfo error = new HandleErrorInfo(ex, "Proprietaire", "Edit"); return View("Error", error); } } else { return RedirectToAction("LogOn", "Account"); } }
// // GET: /Proprietaire/Edit/5 public ActionResult Edit(Guid pCode, String pLogin) { if (Request.IsAuthenticated) { if (User.Identity.Name.Equals(pLogin)) { //Seul le propriétaire peut se modifier Proprietaire proprietaire = DataManager.ListeProprietaires.Find(item => item.Code == pCode); ProprietaireViewModel proprietaireViewModel = new ProprietaireViewModel(proprietaire); return View(proprietaireViewModel); } else { HandleErrorInfo error = new HandleErrorInfo(new Exception("Vous n'avez pas le droit de modifier un autre profil"), "Proprietaire", "Edit"); return View("Error", error); } } else { return RedirectToAction("LogOn", "Account"); } }