public ActionResult EditProfilesAdmin(ViewModels.UserAspNet.EditAdmin model) { if (ModelState.IsValid) { var User = db.Users.Find(model.ID); User.UserName = model.UserName ?? User.UserName; User.PhoneNumber = model.PhoneNo; if (User.Roles.FirstOrDefault(a => a.RoleId == model.SelectedRoleId) == null) { UserManager <ApplicationUser> _userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new SPContext())); foreach (var roleId in User.Roles.Select(a => a.RoleId)) { var roleToRemove = db.Roles.Find(roleId); if (roleToRemove != null) { _userManager.RemoveFromRole(User.Id, roleToRemove.Name); } } var roleToAdd = db.Roles.Find(model.SelectedRoleId); if (roleToAdd != null) { _userManager.AddToRole(User.Id, roleToAdd.Name); } } var profile = db.UserProfiles.Find(model.ID); profile.FirstName = model.UserProfile.FirstName; profile.LastName = model.UserProfile.LastName; profile.Gender = model.UserProfile.Gender; profile.BirthDate = model.UserProfile.DateOfBirth; profile.Street = model.UserProfile.Street; profile.City = model.UserProfile.City; profile.Zip = model.UserProfile.Zip; profile.Modified = DateTime.UtcNow.Ticks; profile.Image = model.UserProfile.Image ?? ImageArray.ToByteArray(model.UserProfile.Upload); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
// GET: Admin Control of UserProfile from Userprofile and AspNetUser tables/Edit/ public ActionResult EditProfilesAdmin(string ID) { var aspNetUser = db.Users.Find(ID); aspNetUser.UserProfiles = db.UserProfiles.Find(aspNetUser.Id); if (aspNetUser.UserProfiles == null) { aspNetUser.UserProfiles = new UserProfiles(); aspNetUser.UserProfiles.UserID = ID; aspNetUser.UserProfiles.FirstName = ".."; aspNetUser.UserProfiles.LastName = ".."; aspNetUser.UserProfiles.Created = DateTime.UtcNow.Ticks; db.SaveChanges(); } var roles = db.Roles.ToList(); var model = new ViewModels.UserAspNet.EditAdmin(roles, aspNetUser); aspNetUser.UserProfiles.Image = model.UserProfile.Image; return(View(model)); }