示例#1
0
        public async Task <IActionResult> EditRole(EditRoleVieModel model)
        {
            var role = await roleManager.FindByIdAsync(model.Id);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"Role with ID = {model.Id} cannot be found";
                return(View("NotFound"));
            }
            else
            {
                role.Name = model.Name;
                var result = await roleManager.UpdateAsync(role);

                if (result.Succeeded)
                {
                    return(RedirectToAction("listroles"));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
                return(View(model));
            }
        }
示例#2
0
        public async Task <IActionResult> EditUsersInRole(EditRoleVieModel RoleVieModel)
        {
            try
            {
                var role = await _rolesRepository.GetRoleById(RoleVieModel.Id);

                List <ApiResponse> results = new List <ApiResponse>();
                foreach (var user in RoleVieModel.Users)
                {
                    IdentityResult identityResult = null;
                    if (user.UserName == null)
                    {
                        continue;
                    }
                    try
                    {
                        Employee applicationUser = await _userRepository.GetUserByUserName(user.UserName);



                        if (user.IsSelected && !(await _userRepository.CheckUserIsMemberofRole(applicationUser, role.Name)))
                        {
                            identityResult = await _userRepository.AddRole(applicationUser, role.Name);
                        }
                        else if (!user.IsSelected && (await _userRepository.CheckUserIsMemberofRole(applicationUser, role.Name)))
                        {
                            identityResult = await _userRepository.RemoveUserRole(applicationUser, role.Name);
                        }
                        else
                        {
                            continue;
                        }
                    }
                    catch (Exception x)
                    {
                        return(StatusCode(StatusCodes.Status500InternalServerError));
                    }


                    //results.Add(identityResult);
                }

                return(Ok(new ApiResponse()
                {
                    Succeeded = true
                }));
            }
            catch (Exception x)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
        public IActionResult EditRole(EditRoleVieModel RoleVieModel)
        {
            HttpClient httpClient = _httpClientFactory.CreateClient("EmpMGMTClient");

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", HttpContext.Session.GetString("token")?.ToString());
            string              strCreateRoleView = JsonConvert.SerializeObject(RoleVieModel);
            StringContent       content           = new StringContent(strCreateRoleView, Encoding.UTF8, "application/json");
            HttpResponseMessage response          = httpClient.PostAsync("api/Users/UpdateUsersInRole", content).Result;

            if (!response.IsSuccessStatusCode)
            {
                return(StatusCode((int)response.StatusCode));
            }
            var jsonResult = response.Content.ReadAsStringAsync().Result;

            var jsonResonse = JsonConvert.DeserializeObject <ApiResponse>(jsonResult);



            return(RedirectToAction("GetRoles"));
        }
示例#4
0
        public async Task <IActionResult> EditRole(string Id)
        {
            var role = await roleManager.FindByIdAsync(Id);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"Role with ID = {Id} cannot be found";
                return(View("NotFound"));
            }

            var model = new EditRoleVieModel {
                Id = role.Id, Name = role.Name
            };

            foreach (var user in userManager.Users)
            {
                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    model.UserNames.Add(user.UserName);
                }
            }
            return(View(model));
        }