public ActionResult AjoutUtilisateur() { List <ECOLE> lstEcoles = db.ECOLE.ToList(); List <webpages_Roles> lstRoles = db.webpages_Roles.ToList(); AjoutUtilModel model = new AjoutUtilModel(); model.Ecoles = lstEcoles.Select(e => new SelectListItem { Text = e.NOM, Value = e.ID.ToString() }); model.Roles = lstRoles.Select(r => new SelectListItem { Text = r.RoleName, Value = r.RoleName }); return(View(model)); }
public ActionResult AjoutUtilisateur(AjoutUtilModel model) { if (ModelState.IsValid) { try { string confirmToken = WebSecurity.CreateUserAndAccount(model.nomUtil, model.password, propertyValues: new { COURRIEL = model.courriel, PRENOM = model.prenom, NOM = model.nom, ADRESSE = model.adresse, VILLE = model.ville, DATENAISSANCE = model.dateNaissance, IDECOLE = model.idEcole, ACTIF = model.active }, requireConfirmationToken: true); if (!string.IsNullOrEmpty(confirmToken)) { Roles.AddUserToRole(model.nomUtil, model.roleName); } if (model.roleName.Equals("admin")) { List <SECTEUR> allSect = db.SECTEUR.ToList(); int idUtil = WebSecurity.GetUserId(model.nomUtil); foreach (var s in allSect) { UTILISATEURSECTEUR lien = new UTILISATEURSECTEUR(); lien.IDSECTEUR = s.ID; lien.IDUTILISATEUR = idUtil; lien.DEBUTACCES = DateTime.Now; lien.FINACCES = DateTime.Now.AddYears(10); db.UTILISATEURSECTEUR.Add(lien); } db.SaveChanges(); } MailMessage mail = new MailMessage(); mail.From = new MailAddress(Constantes.EMAIL); mail.To.Add(model.courriel); mail.Subject = Resources.Sectoriel.ConfirmAccount; string urlPath = Request.Url.GetLeftPart(UriPartial.Authority); string lienRetour = urlPath + "/Sectoriel/ConfirmationCompte/" + confirmToken; string message = String.Format(Resources.Sectoriel.msgConfirmAccount, model.nomUtil); message += "<a href=\""; message += lienRetour; message += "\">"; message += lienRetour; message += "</a>"; mail.IsBodyHtml = true; mail.Body = message; SmtpClient smtp = new SmtpClient(); smtp.Host = Constantes.HOST; smtp.Port = Constantes.PORT; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(Constantes.EMAIL, Constantes.EMAIL_PWD); smtp.EnableSsl = true; smtp.Send(mail); TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Messages.UserAddedOk); return(RedirectToAction("GestionUtilisateurs", "Admin")); } catch (Exception e) { ModelState.AddModelError("", e.Message); } } else { List <ECOLE> lstEcoles = db.ECOLE.ToList(); List <webpages_Roles> lstRoles = db.webpages_Roles.ToList(); model.Ecoles = lstEcoles.Select(e => new SelectListItem { Text = e.NOM, Value = e.ID.ToString() }); model.Roles = lstRoles.Select(r => new SelectListItem { Text = r.RoleName, Value = r.RoleName }); } return(View(model)); }