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));
        }