// GET: User/Utilisateurs/Edit/5 public ActionResult Edit(string email) { //if (id == null) //{ // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); //} //AspNetUsers utilisateurs = db.Utilisateurs.Find(id); //if (utilisateurs == null) //{ // return HttpNotFound(); //} //ViewBag.IdAdresse = new SelectList(db.Adresses, "IdAdresse", "Ligne1", utilisateurs.IdAdresse); //ViewBag.IdAsp = new SelectList(db.AspNetUsers, "Id", "Email", utilisateurs.IdAsp); //ViewBag.IdIdentite = new SelectList(db.Identites, "IdIdentite", "Nom", utilisateurs.IdIdentite); //return View(utilisateurs); Utilisateurs user = db.Utilisateurs.Where(u => u.AspNetUsers.Email == email).First(); var bci = new BreadCrumItem("Modification de profil", "", ""); ListeBreadCrumItem.Add(bci); EditViewModel evm = new EditViewModel(); evm.Adresse1 = user.Adresses.Ligne1; evm.Adresse2 = user.Adresses.Ligne2; evm.Adresse3 = user.Adresses.Ligne3; evm.CodeVille = db.Villes.Where(v => v.CodeINSEE == user.Adresses.CodeINSEE).First().CodeINSEE; evm.Email = user.AspNetUsers.Email; evm.Nom = user.Identites.Nom; evm.iddep = db.Villes.Where(v => v.CodeINSEE == user.Adresses.CodeINSEE).First().NumDep; evm.Prenom = user.Identites.Prenom; evm.subscribeToNewsletter = user.Identites.Newsletter==0 ? "off" : "on"; evm.RegionsDepartements = db.RegionsFR.OrderBy(r => r.Nom) .ToDictionary(r => r.Nom, r => r.Departements.OrderBy(d => d.Nom) .ToDictionary(d => d.NumDep, d => d.Nom) ); evm.VillesDep = db.Villes.Where(v => v.NumDep == evm.iddep).ToDictionary(v => v.CodeINSEE, v => v.Nom); return View(evm); }
public ActionResult Edit(EditViewModel evm) { var user = db.Utilisateurs.Where(u => u.Identites.Email == evm.Email).First(); var adresse = db.Adresses.Where(a => a.IdAdresse == user.Adresses.IdAdresse).First(); adresse.CodeINSEE = evm.CodeVille; adresse.CodePostal = db.ZipCodes.Where(z => z.CodeINSEE == evm.CodeVille).First().CodePostal; adresse.Ligne1 = evm.Adresse1; adresse.Ligne2 = evm.Adresse2; adresse.Ligne3 = evm.Adresse3; var identite = user.Identites; if (evm.subscribeToNewsletter == "on") { identite.Newsletter = 1; } else identite.Newsletter = 0; db.SaveChanges(); return RedirectToAction("Index", "Home"); }