Пример #1
0
        public async Task <IActionResult> Edit(string userId)
        {
            ViewBag.isAut = HttpContext.User.Identity.IsAuthenticated;
            ViewBag.Name  = HttpContext.User.Identity.Name;
            // получаем пользователя
            IdentityUser user = await userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // получем список ролей пользователя
                var userRoles = await userManager.GetRolesAsync(user);

                var allRoles = roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };
                return(View(model));
            }

            return(NotFound());
        }
Пример #2
0
        public async Task <IActionResult> Edit(string name)
        {
            string userId;

            if (_userManager.Users.Count(x => x.UserName == name) == 1)
            {
                userId = _userManager.Users.First(x => x.UserName == name).Id;
            }
            else
            {
                return(NotFound());
            }

            // получаем пользователя
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(NotFound());
            }
            // получем список ролей пользователя
            var userRoles = await _userManager.GetRolesAsync(user);

            var allRoles = _roleManager.Roles.ToList();
            var model    = new ChangeRoleViewModel
            {
                UserId    = user.Id,
                UserEmail = user.Email,
                UserRoles = userRoles,
                AllRoles  = allRoles
            };

            return(View(model));
        }
Пример #3
0
        public async Task <IActionResult> Index()
        {
            List <ChangeRoleViewModel> users = new List <ChangeRoleViewModel>();

            foreach (var item in _userManager.Users.ToList())
            {
                User user = await _userManager.FindByIdAsync(item.Id);

                if (user != null)
                {
                    // получем список ролей пользователя
                    var userRoles = await _userManager.GetRolesAsync(user);

                    var allRoles = _roleManager.Roles.ToList();
                    ChangeRoleViewModel model = new ChangeRoleViewModel
                    {
                        UserId    = user.Id,
                        UserEmail = user.Email,
                        UserRoles = userRoles,
                        AllRoles  = allRoles
                    };
                    users.Add(model);
                }
            }
            ;
            ViewBag.Name = User.Identity.Name;
            return(View(users));
        }
Пример #4
0
        public async Task <IHttpActionResult> AddUserToRole(ChangeRoleViewModel changeRoleViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var appUser = await this.AppUserManager.FindByNameAsync(changeRoleViewModel.UserName);

            if (appUser == null)
            {
                ModelState.AddModelError("", String.Format("User: {0} does not exists", changeRoleViewModel.UserName));
            }

            if (!this.AppUserManager.IsInRole(appUser.Id, changeRoleViewModel.RoleName))
            {
                IdentityResult result = await this.AppUserManager.AddToRoleAsync(appUser.Id, changeRoleViewModel.RoleName);

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", String.Format("User: {0} could not be added to role", changeRoleViewModel.UserName));
                }
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(Ok());
        }
        public async Task <IActionResult> EditProfile(string id)
        {
            if (!await ValidationAsync(id))
            {
                return(RedirectToAction("Index", "Home"));
            }

            User user = await _userManager.FindByNameAsync(id);

            if (user == null)
            {
                return(NotFound());
            }
            var userRoles = await _userManager.GetRolesAsync(user);

            var allRoles = _roleManager.Roles.ToList();
            ChangeRoleViewModel model1 = new ChangeRoleViewModel
            {
                UserId = user.Id,
            };
            EditUserViewModel model = new EditUserViewModel {
                UserId = user.Id,
                Name   = user.UserName, UserRoles = userRoles, AllRoles = allRoles
            };

            return(View(model));
        }
Пример #6
0
        public async Task <ActionResult> ChangeRole(int id, [FromBody] ChangeRoleViewModel model)
        {
            if (model == null)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(model));
            }
            try
            {
                await _service.ChangeRoleUserById(id, model.Role);

                return(Ok());
            }
            catch (UserNotFoundException)
            {
                return(NotFound());
            }
            catch (AdminCannotChangeRoleException)
            {
                return(BadRequest(new { Error = ErrorMessages.CannotChangeRole }));
            }
        }
Пример #7
0
        public async Task <ChangeRoleViewModel> EditRole(string userId)
        {
            User user = await userManager.FindByIdAsync(userId);

            ChangeRoleViewModel model = new ChangeRoleViewModel();

            if (user != null)
            {
                var userRoles = await userManager.GetRolesAsync(user);

                var allRoles = roleManager.Roles.ToList();

                model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };

                return(model);
            }

            return(model);
        }
        public async Task <ActionResult> ChangeRole(string userId, RequestPage ReqPage)
        {
            var user = await UserManager.FindByIdAsync(userId);

            var model = new ChangeRoleViewModel();

            model.UserId      = userId;
            model.Username    = user.UserName;
            model.MyRoles     = new List <MyRoleViewModel>();
            model.RequestPage = ReqPage;
            foreach (var role in _roleManager.Roles)
            {
                if (user.Roles.Any(p => p.RoleId == role.Id))
                {
                    model.MyRoles.Add(new MyRoleViewModel()
                    {
                        RoleId = role.Id, HasGot = true, RoleName = role.Name
                    });
                }
                else
                {
                    model.MyRoles.Add(new MyRoleViewModel()
                    {
                        RoleId = role.Id, HasGot = false, RoleName = role.Name
                    });
                }
            }
            return(PartialView("_AddRole", model));
        }
Пример #9
0
        public async Task <IActionResult> ConfirmTaxiDriverRole(int id)
        {
            List <RequestRole> requests = await db.RequestsRole.ToListAsync();

            _logger.LogInformation("wow" + id);
            //_logger.LogInformation(requests[requestId-1].UserName);
            ApplicationUser user = await _userManager.FindByIdAsync(requests[id - 1].UserId);

            if (user != null)
            {
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };
                return(View(model));
            }

            return(NotFound());
        }
Пример #10
0
        public async Task <IActionResult> Edit(string userId)
        {
            // получаем пользователя
            var user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // получем список ролей пользователя
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();

                var model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };

                return(View(model));
            }

            return(NotFound());
        }
Пример #11
0
        public async Task <IActionResult> Edit(string userId)
        {
            var currUser = User.Identity.Name;

            Console.WriteLine(currUser);

            var user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };
                return(View(model));
            }

            return(NotFound());
        }
Пример #12
0
        public async Task <ActionResult> ChangeRole(string id, [Bind(Include = "Role")] ChangeRoleViewModel model)
        {
            if (id == User.Identity.GetUserId())
            {
                this.AddNotification("Error: Can't change your own role.", NotificationType.WARNING);
                return(RedirectToAction("ViewAllStaff", "ApplicationUser"));
            }

            if (ModelState.IsValid)
            {
                Staff staff = await UserManager.FindByIdAsync(id) as Staff;

                string oldRole = (await UserManager.GetRolesAsync(id)).Single();
                if (oldRole == model.Role)
                {
                    return(RedirectToAction("ViewAllRoles", "Admin"));
                }
                await UserManager.RemoveFromRoleAsync(id, oldRole);

                await UserManager.AddToRoleAsync(id, model.Role);

                return(RedirectToAction("ViewAllStaff", "ApplicationUser"));
            }
            return(View(model));
        }
Пример #13
0
        public async Task <IActionResult> Edit(string userId)
        {
            // получаем пользователя
            User user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // получем список ролей пользователя
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };
                if (User.Identity.IsAuthenticated)
                {
                    var us = await _userManager.FindByIdAsync(User.FindFirstValue(ClaimTypes.NameIdentifier));

                    var roles = await _userManager.GetRolesAsync(us);

                    ViewBag.UserRoles = roles;
                }
                return(View(model));
            }

            return(NotFound());
        }
Пример #14
0
        public async Task <IActionResult> Edit(string userId, string searchSelectionString, string seacrhString)
        {
            // get users
            var user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // get lost roles users
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };

                _loggerService.LogInformation(CONTROLLER_NAME + LoggerConstants.ACTION_EDIT + $"/{userId}", LoggerConstants.TYPE_GET, $"edit roles user id: {user.Id}", GetCurrentUserId());

                ViewBag.SearchSelectionString = searchSelectionString;
                ViewBag.SeacrhString          = seacrhString;

                return(View(model));
            }

            return(RedirectToAction("Error", "Home", new { requestId = "400", errorInfo = "User not found" }));
        }
Пример #15
0
        public async Task <IActionResult> EditRole(string userId)
        {
            // Ищем юзера по Id
            User user = await _userManager.FindByIdAsync(userId);

            // Если такой пользователь существует, заходим в тело условия
            if (user != null)
            {
                // Получем список всех ролей выбранного пользователя
                var userRoles = await _userManager.GetRolesAsync(user) as List <string>;

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserName  = user.UserName,
                    AllRoles  = allRoles,
                    UserRoles = userRoles
                };

                ViewBag.Title = $"Редактирование ролей пользователя \"{user.UserName}\"";

                return(View(model));
            }
            return(NotFound());
        }
Пример #16
0
        public async Task <ActionResult> Edit(string userId)
        {
            ApplicationUser user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                IList <string> userRoles = await _userManager.GetRolesAsync(user.Id);

                List <IdentityRole> allRoles = _roleManager.Roles.ToList();

                List <CheckBoxListItem> checkBoxListItems = new List <CheckBoxListItem>();
                foreach (var role in allRoles)
                {
                    checkBoxListItems.Add(new CheckBoxListItem()
                    {
                        Id        = role.Name,
                        isChecked = _userManager.IsInRole(user.Id, role.Name)
                    });
                }

                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    Roles     = checkBoxListItems,
                    AllRoles  = allRoles
                };
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
Пример #17
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (ModelState.IsValid)
            {
                var result = await accountsService.Login(LoginUser);

                if (result != null)
                {
                    var userId = userManager.GetUserId(User);
                    RequestUser = await rolesService.EditRole(userId);

                    if (RequestUser.UserRoles.Contains("Admin"))
                    {
                        return(RedirectToPage("/Users/Index"));
                    }
                    else if (RequestUser.UserRoles.Contains("Careroles"))
                    {
                        return(RedirectToPage("/Roles/RolesIndex"));
                    }
                    else
                    {
                        return(RedirectToPage("/Babies/Home"));
                    }
                }
                else
                {
                    ModelState.AddModelError(String.Empty, localizer["InvalidLoginAttempt"]);
                    return(Page());
                }
            }
            return(Page());
        }
        public async Task <IActionResult> Edit(string userId)
        {
            _logger.LogInformation($"{DateTime.Now.ToString()}: Processing request Roles/Edit");

            // получаем пользователя
            var user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // получем список ролей пользователя
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.Email,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };
                return(View(model));
            }

            return(NotFound());
        }
Пример #19
0
        public async Task <ActionResult> Get(string userId)
        {
            if (!string.IsNullOrEmpty(userId))
            {
                try
                {
                    var user = await _userManager.FindByIdAsync(userId);


                    var userRoles = await _userManager.GetRolesAsync(user);

                    var allRoles = _roleManager.Roles.ToList();

                    ChangeRoleViewModel model = new ChangeRoleViewModel
                    {
                        UserId    = user.Id,
                        UserEmail = user.Email,
                        UserRoles = userRoles,
                        AllRoles  = allRoles
                    };

                    Log.Information("Get change role model was successfully");
                    return(Ok(model));
                }
                catch (Exception ex)
                {
                    Log.Error($"Get change role model was fail with exception:{Environment.NewLine}{ex.Message}");
                    return(StatusCode(500, "Internal server error"));
                }
            }

            return(BadRequest());
        }
Пример #20
0
        public async Task <IActionResult> Edit(Guid userId)
        {
            if (userId != Guid.Empty)
            {
                User user = await _userManager.FindByIdAsync(userId.ToString());

                if (user != null)
                {
                    var userRoles = await _userManager.GetRolesAsync(user);

                    var allRoles = _roleManager.Roles.ToList();
                    ChangeRoleViewModel model = new ChangeRoleViewModel()
                    {
                        UserId    = user.Id,
                        UserEmail = user.Email,
                        UserRoles = userRoles,
                        AllRoles  = allRoles
                    };
                    return(Ok(model));
                }
                else
                {
                    ModelState.AddModelError(String.Empty, "User not Found");
                    return(BadRequest(ModelState));
                }
            }

            ModelState.AddModelError(String.Empty, "User id is Empty");
            return(BadRequest(ModelState));
        }
Пример #21
0
        public async Task <IActionResult> Promote(ChangeRoleViewModel viewModel)
        {
            var userDTO = changerRoleMapper.MapFromViewModel(viewModel);
            var user    = await this.roleService.ChangeRole(userDTO);

            //TODO remove Ok()
            return(Ok(user));
        }
        public ActionResult Create(int id = 0)
        {
            ChangeRoleViewModel model = GetArticleByNomber(id);
            var article = _allArticles.GetObjectArticle(id);

            ViewBag.ListOfCategory = _allCategories.OrderAllCategory();
            ViewBag.ListOfRoles    = model;

            return(View(article));
        }
Пример #23
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            RequestUser = await rolesService.EditRole(id);

            if (RequestUser != null)
            {
                return(Page());
            }

            return(RedirectToPage("RolesIndex"));
        }
        private ChangeRoleViewModel GetArticleByNomber(int id)
        {
            // получем список ролей пользователя
            var userRoles             = _allArticlesAccess.GetRoles(id);
            var allRoles              = _roleManager.Roles.ToList();
            ChangeRoleViewModel model = new ChangeRoleViewModel
            {
                UserRoles = userRoles,
                AllRoles  = allRoles
            };

            return(model);
        }
Пример #25
0
        public void updateUserRole(ChangeRoleViewModel crVm)
        {
            var userList = context.AspNetUsers.ToList();

            foreach (var i in userList)
            {
                if (i.Id == crVm.ID)
                {
                    Debug.WriteLine("User role before change: " + i.userRole);
                    i.userRole = crVm.NewUserRole;
                    Debug.WriteLine("User role after change: " + i.userRole);
                }
            }
        }
Пример #26
0
        public async Task <IActionResult> ChangeRole(Guid id, [FromBody] ChangeRoleViewModel newRole)
        {
            var authUser = await _authenticateService.GetAuthUser();

            if (authUser == null)
            {
                return(BadRequest());
            }
            if (await _userService.ChangeRole(id, newRole.NewRoleId))
            {
                return(Ok());
            }
            return(BadRequest());
        }
        public ActionResult Index()
        {
            //var roles = _context.Users.ToList();
            //var role = roles[0].
            var viewModel = new ChangeRoleViewModel()
            {
                ApplicationUsers = _context.Users.ToList(),
                IdentityRoles    = _context.Roles.ToList(),
                RoleName         = "",
                UserId           = ""
            };

            return(View(viewModel));
        }
        public async Task <ActionResult> Save(ChangeRoleViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByIdAsync(viewModel.UserId);

                var roles = await UserManager.GetRolesAsync(user.Id);

                var rolesArray = roles.ToArray();
                var result     = await UserManager.RemoveFromRolesAsync(user.Id, rolesArray);

                result = await UserManager.AddToRoleAsync(user.Id, viewModel.RoleName);
            }
            return(RedirectToAction("Index", "ChangeRole"));
        }
Пример #29
0
        public async Task <IActionResult> Promote(string Id)
        {
            var user = await this.userManager.FindByIdAsync(Id);

            var roles = (await this.roleService.GetAllRoles()).Select(r => new SelectListItem(r, r)).ToList();

            var viewModel = new ChangeRoleViewModel
            {
                Id          = Id,
                currentRole = (await this.userManager.GetRolesAsync(user))[0],
                allRoles    = roles
            };

            return(View(viewModel));
        }
Пример #30
0
        public IActionResult ChangeRole(Guid id, ChangeRoleViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = _userService.ChangeRole(id, (RoleType)model.Role);

            if (!user.Valid)
            {
                return(ValidationProblem(user.GetAllNotifications()));
            }

            return(Ok(user));
        }