internal void UpdateRole(AbpUsers abpUser, int role)
        {
            try
            {
                var u = db.AbpUsers.Find(abpUser.Id);

                if (!u.AbpUserRoles.Any(UR => UR.RoleId == role) && role != 0)
                {
                    for (int i = 0; i < u.AbpUserRoles.Count; i++)
                    {
                        db.Entry(u.AbpUserRoles.ElementAt(i)).State = EntityState.Deleted;
                    }
                    u.AbpUserRoles.Clear();
                    u.AbpUserRoles.Add(new AbpUserRoles()
                    {
                        UserId = abpUser.Id, RoleId = role, CreationTime = DateTime.Now, TenantId = 1
                    });
                }
                else if (role == 0)
                {
                    for (int i = 0; i < u.AbpUserRoles.Count; i++)
                    {
                        db.Entry(u.AbpUserRoles.ElementAt(i)).State = EntityState.Deleted;
                    }
                    u.AbpUserRoles.Clear();
                }
                db.SaveChanges();
            }
            catch (Exception e)
            {
                LayoutController.erreur = e;
            }
        }
        public ActionResult Edit([Bind(Include = "NoQuestion,Reponse")] AbpUsers Users)
        {
            var id = (long)AbpSession.UserId;

            var abp = provider.ReturnUtilisateur(id);

            if (Request.Files["pic"].ContentLength > 0)
            {
                var pic = Request.Files["pic"];
                using (var reader = new System.IO.BinaryReader(pic.InputStream))
                {
                    abp.ImageProfil = reader.ReadBytes(pic.ContentLength);
                }
                provider.UpdateUser(abp);
            }

            string PasswordChange = Request.Form["PasswordChange"];

            if (!string.IsNullOrWhiteSpace(PasswordChange))
            {
                abp.Password = new PasswordHasher().HashPassword(PasswordChange);
            }

            if (Users.Reponse != null)
            {
                abp.NoQuestion = Users.NoQuestion;
                abp.Reponse    = Users.Reponse;
            }

            provider.UpdateUser(abp);

            return(RedirectToAction("Index", "home"));
        }
 internal void InsertUser(AbpUsers abpUser)
 {
     try
     {
         db.AbpUsers.Add(abpUser);
         db.SaveChanges();
     }
     catch (Exception e)
     {
         LayoutController.erreur = e;
     }
 }
 internal void UpdateUser(AbpUsers abpUser)
 {
     try
     {
         db.Entry(db.AbpUsers.Find(abpUser.Id)).CurrentValues.SetValues(abpUser);
         //db.Entry(abpUser).State = EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception e)
     {
         LayoutController.erreur = e;
     }
 }
 internal string GetRoleUtilisateur(AbpUsers abpUsers)
 {
     try
     {
         if (abpUsers.AbpUserRoles.Count > 0)
         {
             return(SelectRole(abpUsers.AbpUserRoles.ToList()[0].RoleId).Name);
         }
     }
     catch (Exception e)
     {
         LayoutController.erreur = e;
     }
     return("Employe");
 }
        public ActionResult CreateSetting([Bind(Include = "NoQuestion,Reponse")] AbpUsers Users, string PasswordChange, string utilisateur)
        {
            abp = null;
            abp = provider.ReturnUtilisateur(utilisateur);

            if (abp.Id != 0 && Users.NoQuestion == abp.NoQuestion && Users.Reponse == abp.Reponse)
            {
                abp.Password   = new PasswordHasher().HashPassword(PasswordChange);
                abp.NoQuestion = Users.NoQuestion;
                abp.Reponse    = Users.Reponse;

                return(RedirectToAction("Verification/" + abp.Id));
            }
            else
            {
                ViewBag.Question = new SelectList(provider.ToutQuestion(), "NoQuestion", "Question");
                return(View());
            }
        }
        public ActionResult Verification(long id)
        {
            AbpUsers users = provider.ReturnUtilisateur(id);

            return(View(users));
        }