public async Task<ActionResult> EditUser(string id, EditUserViewModel model)
        {
            var Db = new ApplicationDbContext();
            var list = Db.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
            model.Roles = (IEnumerable<SelectListItem>)list;

            if (ModelState.IsValid)
            {
                var user = Db.Users.First(u => u.Id == id);
                user.FirstName = model.user.FirstName;
                user.LastName = model.user.LastName;
                user.Email = model.user.Email;
                user.UserName = model.user.Email;
                user.Gender = model.user.Gender;
                user.PhoneNumber = model.user.PhoneNumber;
                user.City = model.user.City;
                user.State = model.user.State;
                user.Country = model.user.Country;
                user.Zip = model.user.Zip;
                user.AddressLine = model.user.AddressLine;
                user.Salary = model.user.Salary;
                Db.Entry(user).State = System.Data.Entity.EntityState.Modified;

                var Roles = UserManager.GetRoles(id);
                if(!Roles.First().Equals(model.Role))
                { 
                    await UserManager.AddToRoleAsync(user.Id, model.Role);
                    await UserManager.RemoveFromRoleAsync(user.Id, Roles.First());
                }

                await Db.SaveChangesAsync();
                return RedirectToAction("ListUsers");
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult EditUser(string id)
        {
            var Db = new ApplicationDbContext();
            var user = Db.Users.First(u => u.Id == id);
            if (user == null)
            {
                return HttpNotFound();
            }
            EditUserViewModel model = new EditUserViewModel();

            var userRoles = UserManager.GetRoles(user.Id);
            var list = Db.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem 
            {
                Selected = userRoles.Contains(rr.Name),
                Value = rr.Name.ToString(), 
                Text = rr.Name }).ToList();

            model.user = user;
            model.Roles = (IEnumerable<SelectListItem>)list;
            return View(model);
        }