public ActionResult PROFIL()
        {
            using (IDAL dal = new Dal())
            {
                UTILISATEUR ProfilUser = dal.ObtenirUtilisateurParId(HttpContext.User.Identity.Name);

                if (ProfilUser != null)
                {
                    ViewBag.NomUtilisateur = CRYPTAGE.StringHelpers.Decrypt(ProfilUser.Personne.Prenom);
                    //Affichage de la vue conséquente
                    UtilisateurVM3 uvm3 = new UtilisateurVM3();
                    uvm3 = dal.ConvertirUtilisateurUtilisateurVM3(ProfilUser);

                    return(View("ConsulterProfilUtilisateur", uvm3));
                }

                return(View("Error"));
            }
        }
        public ActionResult PROFIL(UtilisateurVM3 UserAccount)
        {
            using (IDAL dal = new Dal())
            {
                UTILISATEUR UserCurrent = dal.ObtenirUtilisateurParId(HttpContext.User.Identity.Name);
                if (UserCurrent != null && UserCurrent.UtilisateurID == UserAccount.Id)
                {
                    PERSONNE personne = new PERSONNE
                    {
                        PersonneID          = UserAccount.InfosPersonne.Id,
                        Email               = UserAccount.InfosPersonne.Email,
                        Nom                 = UserAccount.InfosPersonne.Nom,
                        Prenom              = UserAccount.InfosPersonne.Prenom,
                        TelephonePrincipal  = UserAccount.InfosPersonne.TelephonePrincipal,
                        TelephoneSecondaire = UserAccount.InfosPersonne.TelephoneSecondaire,
                        Adresse             = UserAccount.InfosPersonne.Adresse,
                        Sexe                = UserAccount.InfosPersonne.Sexe
                    };

                    personne.PersonneID = dal.EnregistrerPersonne(personne);

                    UTILISATEUR user = new UTILISATEUR();
                    user.UtilisateurID = UserAccount.Id;
                    user.Actif         = UserCurrent.Actif;
                    user.Fonction      = UserAccount.InfosConnexion.Fonction;
                    user.Login         = UserAccount.InfosConnexion.Login;
                    if (!String.IsNullOrEmpty(UserAccount.InfosConnexion.Password) || !String.IsNullOrWhiteSpace(UserAccount.InfosConnexion.Password))
                    {
                        user.Password = UserAccount.InfosConnexion.Password;
                    }
                    user.Personne = dal.ObtenirPersonneParId(personne.PersonneID);
                    user.Role     = dal.ObtenirRoleParId(UserAccount.Role.RoleID);

                    dal.EnregistrerUtilisateur(user);

                    return(RedirectToAction("PROFIL"));
                }

                ViewBag.NomUtilisateur = UserAccount.InfosPersonne.Prenom;
                return(View("Error"));
            }
        }
        public ActionResult CREERUTILISATEUR(UtilisateurVM3 User)
        {
            using (IDAL dal = new Dal())
            {
                if (dal.VerifierAccesParUtilisateurIdParPrivilegePeut(HttpContext.User.Identity.Name, "CREER_UTILISATEUR"))
                {
                    if (ModelState.IsValid)
                    {
                        if (dal.ObtenirUtilisateurAvecIdentifiants(User.InfosConnexion.Login, User.InfosConnexion.Password) == null)
                        {
                            PERSONNE personne = new PERSONNE
                            {
                                Email              = User.InfosPersonne.Email,
                                Nom                = User.InfosPersonne.Nom,
                                Prenom             = User.InfosPersonne.Prenom,
                                TelephonePrincipal = User.InfosPersonne.TelephonePrincipal
                            };

                            personne.PersonneID = dal.EnregistrerPersonne(personne);

                            UTILISATEUR newUser = new UTILISATEUR
                            {
                                Actif    = true,
                                Login    = User.InfosConnexion.Login,
                                Password = User.InfosConnexion.Password,
                                Personne = dal.ObtenirPersonneParId(personne.PersonneID),
                                Role     = dal.ObtenirRoleParId(User.Role.RoleID)
                            };

                            ViewBag.Create        = true;
                            ViewBag.IdUtilisateur = dal.EnregistrerUtilisateur(newUser);
                            return(RedirectToAction("CONSULTERLISTEUTILISATEUR"));
                        }
                        else
                        {
                            ViewBag.ErrorMessage = "Modifiez vos paramètres de connexion choisies et réessayez à nouveau SVP.";
                            List <ROLE>   listeRole = dal.ObtenirTousLesRoles();
                            List <RoleVM> listeR    = new List <RoleVM>();
                            if (listeRole != null)
                            {
                                foreach (var r in listeRole)
                                {
                                    listeR.Add(dal.ConvertirRoleRoleVM(r));
                                }
                            }
                            ViewBag.ListeRole = listeR;
                            return(View("FormulaireCreationUtilisateur", User));
                        }
                    }

                    else
                    {
                        List <ROLE>   listeRole = dal.ObtenirTousLesRoles();
                        List <RoleVM> listeR    = new List <RoleVM>();
                        if (listeRole != null)
                        {
                            foreach (var r in listeRole)
                            {
                                listeR.Add(dal.ConvertirRoleRoleVM(r));
                            }
                        }
                        ViewBag.ListeRole = listeR;
                        return(View("FormulaireCreationUtilisateur", User));
                    }
                }
                else
                {
                    ViewBag.ErrorMessage = dal.getErrorMessageFailedAuthorization();
                    return(View("Error"));
                }
            }
        }