// Méthode permettant à l'utilisateur de s'inscrire après avoir rempli toutes les cases correctement.
        public ActionResult CreateUser(UtilisateurViewModelConnection vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }
            if (db.Utilisateurs.Count(u => u.ID == vm.Utilisateur.ID) != 0)
            {
                ModelState.AddModelError("Utilisateur.ID", "Cette adresse e-mail est déjà utilisée");
                return(View(vm));
            }

            int i          = 1;
            var telephones = new List <Telephone>();

            while (i < Request.Form.AllKeys.Length)
            {
                if (Request.Form.AllKeys[i].Contains("prefixe"))
                {
                    telephones.Add(new Telephone()
                    {
                        Numéro        = Request.Form.GetValues(Request.Form.AllKeys[i + 1])[0],
                        Préfixe       = Request.Form.GetValues(Request.Form.AllKeys[i])[0],
                        UtilisateurID = vm.Utilisateur.ID
                    });
                    i++;
                }
                i++;
            }

            string id = db.AjouterUtilisateur(vm.Utilisateur.ID, vm.motDePasse, vm.Utilisateur.Nom, vm.Utilisateur.Prénom, TypeUtilisateur.EnAttente, telephones, vm.Lieu, vm.Utilisateur.Civilite, vm.Utilisateur.OtherInfo);

            FormsAuthentication.SetAuthCookie(id, false);
            return(Redirect("/"));
        }
        // Méthode permettant grâce à l'accès par l'url d'accéder à la page d'inscription.
        public ActionResult CreateUser()
        {
            var userVMC = new UtilisateurViewModelConnection {
                Utilisateur = new Utilisateur()
            };

            userVMC.Utilisateur.Telephones = new List <Telephone>();
            return(View(userVMC));
        }
示例#3
0
 // Méthode permettant à l'administrateur de créer un utilisateur après avoir instancié les données sur la page de création.
 public ActionResult Create(UtilisateurViewModelConnection vm)
 {
     if (ModelState.IsValid)
     {
         if (db.Utilisateurs.Count(u => u.ID == vm.Utilisateur.ID) == 0)
         {
             db.AjouterUtilisateur(vm.Utilisateur.ID, vm.motDePasse, vm.Utilisateur.Nom, vm.Utilisateur.Prénom, vm.Utilisateur.Type, vm.Utilisateur.Telephones, vm.Lieu, vm.Utilisateur.Civilite, vm.Utilisateur.OtherInfo);
             return(RedirectToAction("Index"));
         }
         ModelState.AddModelError("Utilisateur.ID", "Cette adresse e-mail est déjà utilisée");
     }
     return(View(vm));
 }
        // Méthode permettant grâce à l'accès par l'url d'accéder à la page de connexion de l'application.
        public ActionResult Index()
        {
            var viewModel = new UtilisateurViewModelConnection {
                Authentifie = HttpContext.User.Identity.IsAuthenticated
            };

            if (viewModel.Authentifie)
            {
                viewModel.Utilisateur = db.ObtenirUtilisateur(HttpContext.User.Identity.Name);
            }

            return(View(viewModel));
        }
示例#5
0
        // Méthode permettant à un administrateur de modifier les données de l'utilisateur sélectionné et dont l'id est passé dans l'url après avoir modifié les valeurs sur la page de modification.
        public ActionResult EditPost(UtilisateurViewModelConnection userVM)
        {
            if (ModelState.IsValid || userVM.motDePasse == null)
            {
                int i           = 1;
                var utilisateur = db.Utilisateurs.Find(userVM.Utilisateur.ID.Replace('~', '.'));

                db.Telephones.Where(t => t.UtilisateurID == utilisateur.ID).ToList().ForEach(t => db.Telephones.Remove(t));

                var form = Request.Form;
                var keys = form.AllKeys;

                while (i < keys.Length)
                {
                    if (keys[i].Contains("prefixe"))
                    {
                        db.Telephones.Add(new Telephone()
                        {
                            Préfixe       = form.GetValues(keys[i])[0],
                            Numéro        = form.GetValues(keys[i + 1])[0],
                            UtilisateurID = utilisateur.ID
                        });
                        i++;
                    }
                    i++;
                }


                utilisateur.Nom    = userVM.Utilisateur.Nom;
                utilisateur.Prénom = userVM.Utilisateur.Prénom;
                utilisateur.Type   = userVM.Utilisateur.Type;

                var lieu = db.Lieux.Find(utilisateur.LieuID);
                lieu.Adresse    = userVM.Lieu.Adresse;
                lieu.CodePostal = userVM.Lieu.CodePostal;
                lieu.Complement = userVM.Lieu.Complement;
                lieu.Pays       = userVM.Lieu.Pays;
                lieu.Ville      = userVM.Lieu.Ville;

                if (userVM.motDePasse != null && userVM.confirmation != null && userVM.motDePasse == userVM.confirmation)
                {
                    utilisateur.MotDePasse = userVM.motDePasse.GetHashCode();
                    db.SaveChanges();
                    return(RedirectToAction("Deconnexion", "Login"));
                }

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(userVM));
        }
        public ActionResult ChangePassword(UtilisateurViewModelConnection m)
        {
            if (!ModelState.IsValid)
            {
                return(View("AfficherMotDePasse", m));
            }

            var user = db.Utilisateurs.FirstOrDefault(u => u.ID == m.Utilisateur.ID);

            user.MotDePasse = m.motDePasse.GetHashCode();
            db.SaveChanges();
            ViewBag.Message = "Votre mot de passe a bien été changé. Pour revenir à l'acceuil, cliquez sur le bouton ci-dessous.";
            return(View());
        }