public async Task <ObjectResult> Handle(UserRoleBatchDeleteCommand request, CancellationToken cancellationToken) { var resourcePartUri = uriService.GetUriWithoutQuery().URIUpperLevel(); var result = new MultiStatusObjectResult(); var userRoleIds = request.UserRoleIds.Split(",", StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < userRoleIds.Length; i++) { var userRoleId = userRoleIds[i]; var role = await userRoleRepository.FindAsync(userRoleId); if (role == null) { result.AddResult($"{resourcePartUri}/{userRoleId}", 404, ""); continue; } if (role.IsDefault == EntityStateConst.IsDefault) { var roleType = Enumeration.FromValue <Role>(role.RoleId); result.AddResult($"{resourcePartUri}/{userRoleId}", 403, localizer["UserRole.CannotDeleteDefaultRole", localizer[roleType.Name]]); continue; } await userRoleRepository.DeleteAsync(userRoleId, null); result.AddResult($"{resourcePartUri}/{userRoleId}", 200, ""); } return(result.Transfer()); }
public async Task <ActionResult> DeleteUserRole(string RoleID, string UserIDs) { try { if (RoleID != null && UserIDs != null) { string[] userid = UserIDs.Split(','); int intRoleID = Convert.ToInt32(RoleID); foreach (var item in userid) { int intUserID = Convert.ToInt32(item); UserRole ur = await UserRoleRepository.FindAsync(u => u.RoleID == intRoleID && u.UserID == intUserID); if (ur != null) { UserRoleRepository.Delete(ur); } } return(Json(new { Success = true })); } return(Json(new { Success = false })); } catch (Exception ex) { LogRepository.Add(new EventLog() { Name = Session["LoginedUser"].ToString(), Date = DateTime.Now.ToLocalTime(), Event = "删除用户角色失败" + ex.Message }); return(Json(new { Success = false })); } }