public ActionResult PromoteUser([Bind(Include = "Username")] PromoteUserBm bind) { if (ModelState.IsValid) { string msg = service.PromoteUserToAdmin(bind); ViewBag.Message = msg; } return(View(new PromoteUserViewModel() { Username = bind.Username })); }
public string PromoteUserToAdmin(PromoteUserBm bind) { ApplicationUser appUser = Context.Users.FirstOrDefault(u => u.UserName == bind.Username); if (appUser == null) { return($"User with username:{bind.Username} doesn't exist!"); } if (appUser.Roles.Any(r => r.RoleId == Context.Roles.FirstOrDefault(ro => ro.Name == "Admin").Id)) { return("This user is already admin!"); } string roleId = Context.Roles.FirstOrDefault(ro => ro.Name == "Admin").Id; Context.Users.Find(appUser.Id).Roles.Add(new IdentityUserRole() { UserId = appUser.Id, RoleId = roleId }); Context.SaveChanges(); return("Success!"); }