// 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)); }
// 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)); }
// 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()); }