示例#1
0
 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!");
        }