Example #1
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,Email,PhoneNumber")] ApplicationUser applicationUser, string roles)
        {
            if (ModelState.IsValid)
            {
                var currentrole = rolesHelper.ListUserRoles(applicationUser.Id);
                if (User.IsInRole("Admin"))
                {
                    foreach (var role in currentrole)
                    {
                        rolesHelper.RemoveUserFromRole(applicationUser.Id, role);
                    }
                    if (!string.IsNullOrEmpty(roles))
                    {
                        rolesHelper.AddUsertoRole(applicationUser.Id, roles);
                    }
                }
                applicationUser.UserName = applicationUser.Email;
                db.Users.Attach(applicationUser);
                db.Entry(applicationUser).Property(x => x.FirstName).IsModified   = true;
                db.Entry(applicationUser).Property(x => x.LastName).IsModified    = true;
                db.Entry(applicationUser).Property(x => x.Email).IsModified       = true;
                db.Entry(applicationUser).Property(x => x.DisplayName).IsModified = true;
                db.Entry(applicationUser).Property(x => x.UserName).IsModified    = true;
                db.Entry(applicationUser).Property(x => x.PhoneNumber).IsModified = true;

                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }
            return(View(applicationUser));
        }