public async Task <IActionResult> RoleAssign(string id, [FromBody] RoleAssignRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await userService.RoleAssign(id, request); if (!result) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <bool> RoleAssign(string id, RoleAssignRequest roleRequest) { var client = httpClientFactory.CreateClient(); client.BaseAddress = new Uri("https://localhost:44373/api/"); var sessions = httpContextAccessor.HttpContext.Session.GetString("Token"); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", sessions); var json = JsonConvert.SerializeObject(roleRequest); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PutAsync($"User/{id}/roles", httpContent); return(response.IsSuccessStatusCode); }
private async Task <RoleAssignRequest> GetRoleAssignRequest(string id) { var userObj = await _userApiClient.GetById(id); var roleObj = await _roleApiClient.GetAll(); var roleAssignRequest = new RoleAssignRequest(); foreach (var role in roleObj.ResultObj) { roleAssignRequest.Roles.Add(new SelectItem() { Id = role.Id.ToString(), Name = role.Name, }); } return(roleAssignRequest); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(View(request)); } var result = await _userApiClient.RoleAssignAsync(request); if (result.IsSuccessed) { TempData["Result"] = "Gán quyền thành công"; return(RedirectToAction("Index", "User")); } ModelState.AddModelError("", result.Message); var roleAssignRequest = await GetRoleAssignRequest(request.UserId); return(View(roleAssignRequest)); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(View()); } var result = await _userApiClient.RoleAssign(request.Id, request); if (result.IsSuccessed) { TempData["result"] = "cap nhat thanh cong"; return(RedirectToAction("Index")); } ModelState.AddModelError("", result.Message); var roleAssignRequest = await GetRoleAssignRequest(request.Id); return(View(roleAssignRequest)); }
private async Task <RoleAssignRequest> GetRoleAssignRequest(Guid id) { var userObj = await _userApiClient.GetUserByID(id); var roles = await _rolesApiClient.GetAll(); var roleAssignRequest = new RoleAssignRequest(); foreach (var role in roles.ResultObj) { roleAssignRequest.Roles.Add(new SelectItem() { Id = role.ID.ToString(), Name = role.Name, Selected = userObj.ResultObj.Roles.Contains(role.Name) }); } return(roleAssignRequest); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(View()); } var result = await _userService.RoleAssign(request.Id, request); if (result.IsSucceed) { TempData["result"] = "Cập nhật quyền thành công"; return(RedirectToAction("Index")); } ModelState.AddModelError("", result.Message); var roleAssignRequest = await GetRoleAssignRequest(request.Id); return(View(roleAssignRequest)); }
private async Task <RoleAssignRequest> GetRoleAssignRequest(int id) { var userObj = await _userService.GetById(id); var roleObj = await _roleService.GetAll(); var roleAssignRequest = new RoleAssignRequest(); foreach (var role in roleObj.ResultObject) { roleAssignRequest.Roles.Add(new SelectedItem() { Id = role.Id, Name = role.Name, Selected = userObj.ResultObject.Roles.Contains(role.Name) }); } return(roleAssignRequest); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(View()); } var result = await _userApiClient.RoleAssignForUser(request.Id, request); if (result != null && result.IsSuccessed) { TempData["result"] = "Gán quyền người dùng thành công"; return(RedirectToAction("Index")); //Neu update thanh cong thì Redirect } ModelState.AddModelError("", result.Message); var roleAssignRequest = await GetRoleAssignRequest(request.Id); return(View(roleAssignRequest)); //Neu không thành công thì trả về View với request để user sửa }
private async Task <RoleAssignRequest> GetRoleAssignRequest(Guid id) { var userObj = await _userApiClient.GetById(id); //tim user var roleObj = await _roleApiClient.GetAll(); //tim danh sách quyền có trong hệ thống var roleAssignRequest = new RoleAssignRequest(); foreach (var role in roleObj.ResultObj) { roleAssignRequest.Roles.Add(new SelectItem() //Nhờ Roles được new khi khai báo thuộc tính nên khi Add vào không bị Add vào danh sách null { Id = role.Id.ToString(), Name = role.Name, Selected = userObj.ResultObj.Roles.Contains(role.Name) //Neu user đang được assign role này thì Selected = true }); } return(roleAssignRequest); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await userApiClient.RoleAssign(request.Id, request); if (result) { return(RedirectToAction("index")); } ModelState.AddModelError("", "Update Role fail"); var roleAssignReq = await GetRoleAssignRequest(request.Id); return(View(request)); }
public async Task <ApiResultLite> RoleAssignAsync(RoleAssignRequest request) { var user = await _userManager.FindByIdAsync(request.UserId.ToString()); if (user == null) { return(new ApiErrorResultLite("Tài khoản không tồn tại")); } // check role available List <Guid> roles = request.Roles.Select(x => Guid.Parse(x.Id)).ToList(); if (!CheckRoles(roles)) { return(new ApiErrorResultLite("Yêu cầu không hợp lệ")); } var removedRoles = request.Roles.Where(x => x.Selected == false).Select(x => x.Name).ToList(); foreach (var roleName in removedRoles) { if (await _userManager.IsInRoleAsync(user, roleName) == true) { await _userManager.RemoveFromRoleAsync(user, roleName); } } var addedRoles = request.Roles.Where(x => x.Selected).Select(x => x.Name).ToList(); foreach (var roleName in addedRoles) { if (await _userManager.IsInRoleAsync(user, roleName) == false) { if (!(await _userManager.AddToRoleAsync(user, roleName)).Succeeded) { return(new ApiErrorResultLite("Xảy ra lỗi")); } } } return(new ApiSuccessResultLite()); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(View()); } var result = await _userApiClient.RoleAssign(request.id, request); if (result.IsSuccessed) { //TempData["result"] = "Cập nhập quyền thành công"; _notyf.Success("Cập nhập quyền thành công"); return(RedirectToAction("Index")); } ModelState.AddModelError("", result.Message);//key and message var roleAssignRequest = await GetRoleroleAssignRequest(request.id); return(View(roleAssignRequest)); }
public async Task <ApiResult <bool> > RoleAssign(Guid id, RoleAssignRequest request) { var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri(_configuration["BaseAddress"]); var sessions = _httpContextAccessor.HttpContext.Session.GetString("Token"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions); var json = JsonConvert.SerializeObject(request); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PutAsync($"/api/users/{id}/roles", httpContent); var result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <ApiSuccessResult <bool> >(result)); } return(JsonConvert.DeserializeObject <ApiErrorResult <bool> >(result)); }
public async Task <IActionResult> PostRolesToUserUser(string userId, [FromBody] RoleAssignRequest request) { if (request.RoleNames?.Length == 0) { return(BadRequest(new ApiBadRequestResponse("Role names cannot empty"))); } var user = await _userManager.FindByIdAsync(userId); if (user == null) { return(NotFound(new ApiNotFoundResponse($"Cannot found user with id: {userId}"))); } var result = await _userManager.AddToRolesAsync(user, request.RoleNames); if (result.Succeeded) { return(Ok()); } return(BadRequest(new ApiBadRequestResponse(result))); }
private async Task <RoleAssignRequest> GetRoleAssignRequest(Guid id) { var userObj = await _userApiClient.GetById(id); // chúng ta phải lấy ra được danh sách role var roleObj = await _roleApiClient.GetAll(); // trả về một danh sách ApiResult<List<RoleVm>> ,ta đưa vào list<RoleVm> nên thằng ResultObj sẽ là list<RoleVm> var roleAssignRequest = new RoleAssignRequest(); foreach (var role in roleObj.ResultObj) // ResultObj nằm trong ApiResult { roleAssignRequest.Roles.Add(new SelectItem() { Id = role.Id.ToString(), Name = role.Name, Selected = userObj.ResultObj.Roles.Contains(role.Name) // Contains xem nó có chứa Name của role không,nếu có nó sẽ là true không là false }); } return(roleAssignRequest); }
private async Task <RoleAssignRequest> GetRoleAssignRequest(Guid id) { var userObject = await _userApiClient.GetUserByIdAsync(id); var result = await _roleApiClient.GetRolesAsync(); var roleAssignRequest = new RoleAssignRequest(); roleAssignRequest.UserId = id; foreach (var role in result) { roleAssignRequest.Roles.Add(new SelectedItem() { Id = role.Id.ToString(), Name = role.Name, Selected = userObject.ResultObj.Roles.Contains(role.Name) }); } return(roleAssignRequest); }
public async Task <IActionResult> RoleAssign(RoleAssignRequest request) { if (!ModelState.IsValid) { return(View()); } var result = await _userApiClient.RoleAssign(request.Id, request); if (result.IsSuccessed) { TempData["result"] = "Thêm Quyền Thành Công"; //có key là result return(RedirectToAction("Index")); } ModelState.AddModelError("", result.Message); // đây là lỗi của Model này var roleAssignRequest = await GetRoleAssignRequest(request.Id); // nếu trong trường hợp bị false nó vẫn lấy được về return(View(roleAssignRequest)); }
public async Task <IActionResult> PostRolesToUserUser(string userId, [FromBody] RoleAssignRequest request) { if (request.RoleNames?.Length == 0) { return(BadRequest(new ApiBadRequestResponse(_localizer["RoleNameEmptyErr"]))); } var user = await _userManager.FindByIdAsync(userId); if (user == null) { return(NotFound(new ApiNotFoundResponse(_localizer["FindUserIdError"] + " " + userId))); } var result = await _userManager.AddToRolesAsync(user, request.RoleNames); if (result.Succeeded) { return(Ok()); } return(BadRequest(new ApiBadRequestResponse(result))); }
private async Task <RoleAssignRequest> GetRoleAssignRequest(Guid Id) { var userObj = await _userApiClient.GetById(Id); var roleObj = await _roleApiClient.GetAll(); var roleAssignRequest = new RoleAssignRequest(); if (roleObj.ResultObject != null || userObj.ResultObject != null) { foreach (var role in roleObj.ResultObject) { roleAssignRequest.Roles.Add(new SelectedItem() { Id = role.Id.ToString(), Name = role.Name, Selected = userObj.ResultObject.Roles.Contains(role.Name) }); } } return(roleAssignRequest); }
// phương thức Role public async Task <ApiResult <bool> > RoleAssign(Guid Id, RoleAssignRequest request) { // lấy user var user = await _userManager.FindByIdAsync(Id.ToString()); // tìm thoe id mà gặp phát lấy ra luân rồi không tìm tiếp // co nghĩa là chỉ 1 if (user == null) // nếu user không tồn tại { return(new ApiErrorResult <bool>("Tài khoản không tồn tại")); } // selected bằng false là đã tích hay chưa // có nghĩa là khi ta nhán checkbox không còn tích thì nó sẽ có Selected bằng false và xóa quyền ,kể cả chưa tích cũng xóa var removedRoles = request.Roles.Where(x => x.Selected == false).Select(x => x.Name).ToList(); //vào danh sách roles lấy ra thằng nào không Selected có nghĩa là bằng false và lấy cái name của thằng đấy ra // nhớ là Roles ,chuyền vào user và danh sách các role foreach (var roleName in removedRoles) { if (await _userManager.IsInRoleAsync(user, roleName) == true) // user có có roleName { await _userManager.RemoveFromRoleAsync(user, roleName); // RemoveFromRolesAsync nó tính theo Name lên phải lấy Name ra } } // trong trường hợp thằng nào đã có tồn tại , có nghĩa là khi ta tích vào check box nó sẽ cho Selected bằng true var addedRoles = request.Roles.Where(x => x.Selected == true).Select(x => x.Name).ToList(); foreach (var roleName in addedRoles) { // bắt buộc chưa nằm trong cái role mới add vào role if (await _userManager.IsInRoleAsync(user, roleName) == false) { await _userManager.AddToRoleAsync(user, roleName); // ở đay là add từng role nên không có s nhe } } return(new ApiSuccessResult <bool>()); }
public async Task <ApiResultLite> RoleAssignAsync(RoleAssignRequest request) { return(await PutAsync <ApiResultLite>("Api/User/RoleAssign", request)); }
public async Task <ApiResultLite> RoleAssignAsync([FromBody] RoleAssignRequest request) { var result = await _userService.RoleAssignAsync(request); return(result); }
public async Task <ApiResult <bool> > RoleAssign(Guid id, RoleAssignRequest request) { return(await PutAsync <ApiResult <bool> >($"/api/Users/{id}/roles", request)); }
// phương thức role cho frontend public async Task <ApiResult <bool> > RoleAssign(Guid Id, RoleAssignRequest request) { var data = await PutAsync <ApiResult <bool> >($"/api/users/{Id}/roles", request); return(data); }
public async Task <bool> RoleAssign(string id, RoleAssignRequest request) { return(await userRepository.RoleAssign(id, request)); }