public ActionResult JsonRegister(RegisterModel model) { if (ModelState.IsValid) { // User service var userService = new UserService(uow); // Le système vérifie si le nom de famille existe Groupe groupe = uow.Groupe.GetByFamille(model.GroupeName); // Le nom de famille est connu du système; if (groupe != null) { // Le système vérifie que le prénom n'appartient pas déjà à la famille if (uow.Utilisateur.IsUserAlreadyInGroupe(model.Prenom, model.GroupeName)) { // Le prénom est déjà dans la famille, on n'autorise pas la création : message d'erreur ModelState.AddModelError("", "Le prénom existe déjà pour cette famille. Veuillez choisir un autre prénom."); } // Le prénom n'existe pas dans le groupe else { // On l'ajoute au groupe (profil 'Utilisateur') userService.AddUtilisateurInGroupe(model, groupe); // Enregistrement de l'utilisateur dans la session FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false); return Json(new { success = true }); } } // Le nom de groupe n'est pas dans le système; else { // Création de l'utilisateur (profil 'GroupeAdmin') et du nouveau groupe userService.AddAdminUtilisateurToNewGroupe(model); // Enregistrement Session FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false); return Json(new { success = true }); } } // If we got this far, something failed return Json(new { errors = GetErrorsFromModelState() }); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Service user var userService = new UserService(uow); // Le système vérifie si le nom de famille existe Groupe groupe = uow.Groupe.GetByFamille(model.GroupeName); // Le nom de famille est connu du système; if (groupe != null) { // Le système vérifie que le prénom n'appartient pas déjà à la famille if (uow.Utilisateur.IsUserAlreadyInGroupe(model.Prenom, model.GroupeName)) { // Le prénom est déjà dans la famille, on n'autorise pas la création : message d'erreur ModelState.AddModelError("", "Le prénom existe déjà pour cette famille. Veuillez choisir un autre prénom."); } // Le prénom n'existe pas, dans le groupe else { // On l'ajoute au groupe avec un profil 'utilisateur' userService.AddUtilisateurInGroupe(model, groupe); // Enregistrement de l'utilisateur dans la session FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false); // Redirection return RedirectToAction("Index", "Home"); } } // Le nom de groupe n'est pas connu du système; else { // Création new user (profil 'Admin') et new groupe userService.AddAdminUtilisateurToNewGroupe(model); // Enregistrement Session FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false); // Redirection return RedirectToAction("Index", "Home"); } } // If we got this far, something failed, redisplay form return View(model); }