public ActionResult ResetUserType() { int id = DoRequest.GetFormInt("id"); int type = DoRequest.GetFormInt("type"); int returnValue = -1; var res = SetUserType.Do(id, type); if (res != null && res.Header != null && res.Header.Result != null && res.Header.Result.Code != null) { returnValue = Utils.StrToInt(res.Header.Result.Code, -1); } if (returnValue == 0) { DoCache cache = new DoCache(); cache.RemoveCacheStartsWith("user"); return(Json(new { error = false, message = "操作成功!" })); } return(Json(new { error = true, message = "操作失败" })); }
public async Task <IActionResult> SetUserTypeAction(SetUserType setUserType) { InitialSystemInfo(); if (!ModelState.IsValid) { ProcessModelState(); } ApplicationUser user; //Check if user exist? try { user = _context.Users.First(a => a.Id == setUserType.Id); } catch (InvalidOperationException) { TempData["Error"] = "Please select correct user!"; return(RedirectToAction("SetUserType")); } //Check if already a Administrator var roles = await _userManager.GetRolesAsync(user); if (roles.Any() && roles.Contains(Roles.Administrator)) { TempData["Error"] = "User " + user.Email + "already has \"Administrator\" role! Cannot Add!"; return(RedirectToAction("SetUserType")); } //Add user's role await _userManager.AddToRoleAsync(user, Roles.Administrator); _context.Administraotrs.Add(new Administraotr { Id = user.Id, Name = user.UserName }); await _context.SaveChangesAsync(); TempData["Success"] = "User" + user.Email + " added \"Administrator\" role!"; return(RedirectToAction("SetUserType")); }