Пример #1
0
        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));
        }
Пример #2
0
        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));
        }