Пример #1
0
 public ActionResult Create()
 {
     ViewBag.GradesId = new SelectList(Db.Grades.Where(x => x.Etat == EtatEnum.ACTIF && x.ArmesId == 1).ToList(), "Id", "Nom");
     ViewBag.ArmesId  = new SelectList(Db.Armes.Where(x => x.Etat == EtatEnum.ACTIF).ToList(), "Id", "Nom");
     ViewBag.PolesId  = new SelectList(Db.Poles.Where(x => x.Etat == EtatEnum.ACTIF).ToList(), "Id", "Nom");
     return(View(new Utilisateurs {
         Etat = EtatEnum.ACTIF, Role = RoleEnum.UTILISATEUR, MotDePasse = CryptUtils.GeneratePassword(9, true, true, true)
     }));
 }
Пример #2
0
 /// <summary>
 /// créer un mot de passe
 /// </summary>
 /// <returns>le mot de passe</returns>
 public void GenererPassword(int longueur, bool lettre, bool chiffres, bool spec)
 {
     Password = CryptUtils.GeneratePassword(longueur, lettre, chiffres, spec);
 }
Пример #3
0
        public async Task <ActionResult> Create(Utilisateurs utilisateurs)
        {
            if (Db.Utilisateurs.Count(x => x.Email == utilisateurs.Email && x.Etat == EtatEnum.ACTIF) > 0)
            {
                ModelState.AddModelError("Email", "Cette adresse est déjà présente!");
            }

            if (ModelState.IsValid)
            {
                Utilisateurs user;
                var          isAjout = false;
                //si l'adresse existe en base c'est que c'est un utilisateur périmé, donc on le réactive
                if (Db.Utilisateurs.Count(x => x.Email == utilisateurs.Email) > 0)
                {
                    user = Db.Utilisateurs.First(x => x.Email == utilisateurs.Email);
                }
                else
                {
                    user    = Db.Utilisateurs.Create();
                    isAjout = true;
                }

                var motDePasse = CryptUtils.GeneratePassword(9, true, true, true);
                user.MotDePasse = CryptUtils.GenerateHashPassword(motDePasse);
                user.Email      = utilisateurs.Email.ToLower();
                user.Nom        = StringUtils.FirstLetterUpper(utilisateurs.Nom.ToLower());
                user.Prenom     = StringUtils.FirstLetterUpper(utilisateurs.Prenom.ToLower());
                user.Nid        = utilisateurs.Nid;
                user.Pnia       = utilisateurs.Pnia;
                user.Role       = utilisateurs.Role;
                user.GradesId   = utilisateurs.GradesId;
                user.PolesId    = utilisateurs.PolesId;
                user.Etat       = EtatEnum.ACTIF;

                if (isAjout)
                {
                    Db.Entry(user).State = EntityState.Added;
                    Db.Utilisateurs.Add(user);
                }
                else
                {
                    Db.Entry(user).State = EntityState.Modified;
                }
                Db.SaveChanges();

                //envoi du mail
                var mail         = Db.Mails.First(x => x.NomUnique == ContexteStatic.EnvoiCreationCompte);
                var corpsMessage = StringUtils.CopyString(mail.Corps);
                corpsMessage = corpsMessage.Replace("%NOMAPPLI%", ContexteApplication.Application.NomAppli);
                corpsMessage = corpsMessage.Replace("%LOGIN%", user.Email);
                corpsMessage = corpsMessage.Replace("%MOTDEPASSE%", motDePasse);
                await MailUtils.SendMail(user.Email, mail.Objet, corpsMessage);

                return(RedirectToAction("Index"));
            }

            ViewBag.GradesId = new SelectList(Db.Grades.Where(x => x.Etat == EtatEnum.ACTIF && x.ArmesId == utilisateurs.ArmesId).ToList(), "Id", "Nom");
            ViewBag.ArmesId  = new SelectList(Db.Armes.Where(x => x.Etat == EtatEnum.ACTIF).ToList(), "Id", "Nom");
            ViewBag.PolesId  = new SelectList(Db.Poles.Where(x => x.Etat == EtatEnum.ACTIF).ToList(), "Id", "Nom");
            return(View(utilisateurs));
        }