public string SavePersonne(PersonneDTO personne)
        {
            String message;

            message = checkPersonne(personne.N_PIRME1);
            if (message.Length != 0)
            {
            }
            else
            {
                PERSONNE PER = new PERSONNE();
                PER.Fk_ID_SOURCE = personne.ID_SOURCE1;
                PER.Fk_ID_VILLE  = personne.ID_VILLE1;
                PER.Fk_ID_SEXE   = personne.ID_SEXE1;
                PER.Fk_ID_TIDEN  = personne.ID_TIDEN1;
                PER.Fk_ID_PAYS   = personne.ID_PAYS1;
                PER.NOM_COMPLET  = personne.NOM_COMPLET1;
                PER.DATE_NAISS   = ConvertDateToMilisecond(personne.DATE_NAISS1);
                PER.ADRESSE      = personne.ADRESSE1;
                PER.CODE_POSTAL  = personne.CODE_POSTAL1;
                PER.N_TELEPHONE  = personne.N_TELEPHONE1;
                PER.N_IDENT      = personne.N_IDENT1;
                PER.N_PIRME      = personne.N_PIRME1;
                PER.CATE_PERMI   = personne.CATE_PERMI1;
                PER.DATE_NAISS   = ConvertDateToMilisecond(personne.DATE_NAISS1);
                PER.ADRESSE_MAIL = personne.ADRESSE_MAIL1;
                lb.PERSONNEs.Add(PER);
                lb.SaveChanges();
                message = "Bien ajouté";
            }
            return(message);
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            PERSONNE pERSONNE = await db.PERSONNEs.FindAsync(id);

            db.PERSONNEs.Remove(pERSONNE);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> Edit([Bind(Include = "CIN,ID_DEPARTEMENT,ID_SERV,NOM,PRENOM,AGE,ADRESSE,TEL,MAIL,DATE_NAIS")] PERSONNE pERSONNE)
        {
            if (ModelState.IsValid)
            {
                db.Entry(pERSONNE).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.ID_DEPARTEMENT = new SelectList(db.DEPARTEMENTs, "ID_DEPARTEMENT", "NOM_DEPARTEMENT", pERSONNE.ID_DEPARTEMENT);
            ViewBag.ID_SERV        = new SelectList(db.SERVICEs, "ID_SERV", "NOM_SERVICE", pERSONNE.ID_SERV);
            return(View(pERSONNE));
        }
        // GET: PERSONNEs/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PERSONNE pERSONNE = await db.PERSONNEs.FindAsync(id);

            if (pERSONNE == null)
            {
                return(HttpNotFound());
            }
            return(View(pERSONNE));
        }
        // GET: PERSONNEs/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PERSONNE pERSONNE = await db.PERSONNEs.FindAsync(id);

            if (pERSONNE == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ID_DEPARTEMENT = new SelectList(db.DEPARTEMENTs, "ID_DEPARTEMENT", "NOM_DEPARTEMENT", pERSONNE.ID_DEPARTEMENT);
            ViewBag.ID_SERV        = new SelectList(db.SERVICEs, "ID_SERV", "NOM_SERVICE", pERSONNE.ID_SERV);
            return(View(pERSONNE));
        }
        public string delete(string NPerm)
        {
            string message = checkPersonne(NPerm);

            if (message.Length != 0)
            {
                PERSONNE personne = lb.PERSONNEs.First(x => x.N_PIRME == NPerm);

                lb.PERSONNEs.Remove(personne);
                lb.SaveChanges();
                message = "Bien supp";
            }
            else
            {
                message = "ce personne n'existe pas";
            }
            return(message);
        }
        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"));
                }
            }
        }