public async Task<ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var adresse = new DataLayer.Models.Adresses() { CodePostal = model.CodePostal, Ligne1 = model.Ligne1, Ligne2 = model.Ligne2 }; var identity = new DataLayer.Models.Identites() { Identifiant = "kempfu", Nom = model.Nom, Prenom = model.Prenom }; var utilisateur = new DataLayer.Models.Utilisateurs() { DateInscription = DateTime.Now, IdAdresse = 0 }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { _db.Adresses.Add(adresse); identity.IdUser = _db.AspNetUsers.Where(a => a.Email == model.Email).Select(a => a.Id).FirstOrDefault(); _db.Identites.Add(identity); _db.SaveChanges(); utilisateur.IdAdresse = adresse.IdAdresse; utilisateur.IdUtilisateur = identity.IdIdentite; _db.Utilisateurs.Add(utilisateur); _db.SaveChanges(); if (model.Newsletter) { var ni = new DataLayer.Models.NewsletterInscrits() { idInscrit = utilisateur.IdUtilisateur }; _db.NewsletterInscrits.Add(ni); _db.SaveChanges(); } await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); // Pour plus d'informations sur l'activation de la confirmation du compte et la réinitialisation du mot de passe, consultez http://go.microsoft.com/fwlink/?LinkID=320771 // Envoyer un message électronique avec ce lien // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>"); return RedirectToAction("Index", "Home"); } AddErrors(result); } // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire return View(model); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var adresse = new DataLayer.Models.Adresses() { CodePostal = model.CodePostal, Ligne1 = model.Ligne1, Ligne2 = model.Ligne2 }; var identity = new DataLayer.Models.Identites() { Identifiant = "kempfu", Nom = model.Nom, Prenom = model.Prenom }; var utilisateur = new DataLayer.Models.Utilisateurs() { DateInscription = DateTime.Now, IdAdresse = 0 }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { _db.Adresses.Add(adresse); identity.IdUser = _db.AspNetUsers.Where(a => a.Email == model.Email).Select(a => a.Id).FirstOrDefault(); _db.Identites.Add(identity); _db.SaveChanges(); utilisateur.IdAdresse = adresse.IdAdresse; utilisateur.IdUtilisateur = identity.IdIdentite; _db.Utilisateurs.Add(utilisateur); _db.SaveChanges(); if (model.Newsletter) { var ni = new DataLayer.Models.NewsletterInscrits() { idInscrit = utilisateur.IdUtilisateur }; _db.NewsletterInscrits.Add(ni); _db.SaveChanges(); } await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // Pour plus d'informations sur l'activation de la confirmation du compte et la réinitialisation du mot de passe, consultez http://go.microsoft.com/fwlink/?LinkID=320771 // Envoyer un message électronique avec ce lien // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire return(View(model)); }