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