public async Task <IActionResult> ManageUserRoles(string userId)
        {
            ViewBag.userId = userId;

            var user = await userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id = {userId} cannot be found";
                return(View("NotFound"));
            }

            var model = new List <UserRolesViewModel>();

            foreach (var role in roleManager.Roles)
            {
                var userRolesViewModel = new UserRolesViewModel
                {
                    RoleId   = role.Id,
                    RoleName = role.Name
                };

                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    userRolesViewModel.IsSelected = true;
                }
                else
                {
                    userRolesViewModel.IsSelected = false;
                }

                model.Add(userRolesViewModel);
            }

            return(View(model));
        }
        public async Task <IActionResult> Index()
        {
            if (!User.IsInRole(Warehouse.Areas.Identity.Roles.Admin))
            {
                return(RedirectToAction("Index", "Home"));
            }
            var users = await _userManager.Users.ToListAsync();

            var userRolesViewModel = new List <UserRolesViewModel>();

            foreach (IdentityUser user in users)
            {
                if (User.Identity.Name != user.UserName)
                {
                    var thisViewModel = new UserRolesViewModel();
                    thisViewModel.UserId = user.Id;
                    thisViewModel.Email  = user.Email;
                    thisViewModel.Roles  = await GetUserRoles(user);

                    userRolesViewModel.Add(thisViewModel);
                }
            }
            return(View(userRolesViewModel));
        }
Example #3
0
        //// GET: Admin/User/Details/5
        //public ActionResult Details(string id)
        //{
        //    if (id == null)
        //    {
        //        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        //    }
        //    ApplicationUser applicationUser = db.Users.Find(id);
        //    if (applicationUser == null)
        //    {
        //        return HttpNotFound();
        //    }
        //    return View(applicationUser);
        //}

        //// GET: Admin/User/Create
        //public ActionResult Create()
        //{
        //    //ViewBag.ProfileID = new SelectList(db.UserProfiles, "ID", "RealName");
        //    return View();
        //}

        //// POST: Admin/User/Create
        //// 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关
        //// 详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=317598。
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Create([Bind(Include = "Id,Disable,ProfileID,Email,EmailConfirmed,PasswordHash,SecurityStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEndDateUtc,LockoutEnabled,AccessFailedCount,UserName")] ApplicationUser applicationUser)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        db.Users.Add(applicationUser);
        //        db.SaveChanges();
        //        return RedirectToAction("Index");
        //    }

        //    //ViewBag.ProfileID = new SelectList(db.UserProfiles, "ID", "RealName", applicationUser.ProfileID);
        //    return View(applicationUser);
        //}

        // GET: Admin/User/UserRole/5, id 代表用户id
        public ActionResult UserRole(string id)
        {
            List <UserRolesViewModel> userRolesVM = new List <UserRolesViewModel>();

            var userStore   = new UserStore <ApplicationUser, ApplicationRole, string, IdentityUserLogin, IdentityUserRole, IdentityUserClaim>(db);
            var userManager = new ApplicationUserManager(userStore);

            List <ApplicationRole> allRoles = db.Roles.Where(r => !r.Disable).ToList();

            foreach (ApplicationRole role in allRoles)
            {
                UserRolesViewModel vm = new UserRolesViewModel {
                    ID = role.Id, Name = role.Name
                };

                vm.Selected = userManager.IsInRoleAsync(id, role.Name).Result;

                userRolesVM.Add(vm);
            }

            ViewBag.UserID = id;

            return(View(userRolesVM));
        }
        public async Task <IActionResult> ManageUserRoles(string id)
        {
            var user = await _userManager.FindByIdAsync(id);

            ViewBag.userId = id;

            if (user is null)
            {
                ViewBag.ErrorMessage($"User with ID = {id} cannot be found!");
                return(View("Error/NotFound"));
            }

            var roles = _roleManager.Roles;
            var model = new List <UserRolesViewModel>();

            foreach (var stringRole in roles)
            {
                var role = await _roleManager.FindByNameAsync(stringRole.Name);

                UserRolesViewModel userRolesViewModel = new UserRolesViewModel
                {
                    RoleId   = role.Id,
                    RoleName = role.Name
                };
                if (await _userManager.IsInRoleAsync(user, stringRole.Name))
                {
                    userRolesViewModel.IsSelected = true;
                }
                else
                {
                    userRolesViewModel.IsSelected = false;
                }
                model.Add(userRolesViewModel);
            }
            return(View(model));
        }
Example #5
0
        public ActionResult Roles(string username)
        {
            var vm = new UserRolesViewModel(this.UserManagementRepository, username);

            return(View("Roles", vm));
        }
Example #6
0
        public JsonResult GetDatas(int page = 1, int pageSize = 10, string sortBy = "UserName", bool isAsc = true, string search = null)
        {
            ApplicationDbContext db = new ApplicationDbContext();
            var UserManager         = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
            var users = UserManager.Users.ToList();

            if (!string.IsNullOrWhiteSpace(search))
            {
                search = search.ToLower();
                users  = users.Where(x =>
                                     x.Email.ToLower().Contains(search) ||
                                     x.FirstName.ToLower().Contains(search) ||
                                     x.LastName.ToLower().Contains(search) ||
                                     x.UserName.ToLower().Contains(search)).ToList();
            }

            switch (sortBy)
            {
            case "UserName":
                users = isAsc ? users.OrderBy(e => e.UserName).ToList() : users.OrderByDescending(e => e.UserName).ToList();
                break;

            case "Email":
                users = isAsc ? users.OrderBy(e => e.Email).ToList() : users.OrderByDescending(e => e.Email).ToList();
                break;

            case "FirstName":
                users = isAsc ? users.OrderBy(e => e.FirstName).ToList() : users.OrderByDescending(e => e.FirstName).ToList();
                break;

            case "LastName":
                users = isAsc ? users.OrderBy(e => e.LastName).ToList() : users.OrderByDescending(e => e.LastName).ToList();
                break;

            default:
                users = isAsc ? users.OrderBy(e => e.Id).ToList() : users.OrderByDescending(e => e.Id).ToList();
                break;
            }

            var TotalPages = (int)Math.Ceiling((double)users.Count() / pageSize);

            users = users
                    .Skip((page - 1) * pageSize)
                    .Take(pageSize)
                    .ToList();

            var userRoles = new List <UserRolesViewModel>();

            foreach (var user in users)
            {
                var r = new UserRolesViewModel
                {
                    Id        = user.Id,
                    UserName  = user.UserName,
                    Email     = user.Email,
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                };
                userRoles.Add(r);
            }
            //Get all the Roles for our users
            foreach (var user in userRoles)
            {
                user.RoleNames = UserManager.GetRoles(users.First(s => s.UserName == user.UserName).Id);
            }

            var result = new { TotalPages = TotalPages, Users = userRoles, CurrentPage = page, PageSize = pageSize, Search = search };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public UserRolesViewModel CreateUserViewMode()
        {
            var viewModel = new UserRolesViewModel();

            return(viewModel);
        }
Example #8
0
        public ActionResult UserRoles(int id = 0)
        {
            _repository.UserName = User?.Identity?.Name;

            if (!DbHelper.UserIsAdmin(_repository.UserName))
            {
                return(View("Unauthorize"));
            }

            var users = DbHelper.GetAllUsers(_repository.UserName);
            var roles = DbHelper.GetAllRoles(_repository.UserName);

            if (users == null || roles == null)
            {
                return(View(new UserRolesViewModel()));
            }

            var model = new UserRolesViewModel
            {
                Users = users.Values,
                Roles = roles.Values
            };


            //if (Request.Form["submitbutton"] == null || Request.Form["submitbutton"] != "Сохранить")
            //    return View("UserRoles", model);

            var result = false;

            if (users.Any() && roles.Any())
            {
                var newChecked = Request.Form.AllKeys;
                int index      = newChecked.Length;
                Array.Resize <string>(ref newChecked, index + 1);
                newChecked[index] = $"chk_{DbHelper.GetUserId(_repository.UserName, _repository.UserName)}_{Constants.IdRoleAdmin}";
                var toDelete = new List <UserRole>();
                var toAdd    = new List <UserRole>();
                foreach (var user in users.Values)
                {
                    foreach (var role in roles.Values)
                    {
                        var inNewChecked = newChecked.Any(k => k == $"chk_{user.Id}_{role.Id}");
                        var inOldChecked = user.Roles.Any(r => r.Id == role.Id);

                        if (inNewChecked && inOldChecked)
                        {
                            continue;
                        }
                        if (inNewChecked)
                        {
                            toAdd.Add(new UserRole
                            {
                                IdUser = user.Id,
                                IdRole = role.Id
                            });
                        }
                        else if (inOldChecked)
                        {
                            toDelete.Add(new UserRole
                            {
                                IdUser = user.Id,
                                IdRole = role.Id
                            });
                        }
                    }
                }
                result = DbHelper.UpdateUserRoles(toAdd, toDelete, _repository.UserName);
            }
            if (result)
            {
                users = DbHelper.GetAllUsers(_repository.UserName);
                roles = DbHelper.GetAllRoles(_repository.UserName);
                if (users == null || roles == null)
                {
                    return(View(new UserRolesViewModel()));
                }

                var modelNew = new UserRolesViewModel
                {
                    Users = users.Values,
                    Roles = roles.Values
                };

                return(View("UserRoles", modelNew));
            }
            else
            {
                ModelState.AddModelError("Db", "Роли пользователей не был изменены! Повторите попытку или свяжитесь с администратором.");
                return(View("UserRoles", model));
            }
        }
 public ActionResult ChangeRoles(int id, UserRolesViewModel model)
 {
     userService.ChangeRoles(id, model.SelectedRoles.ToArray());
     return(RedirectToAction("List"));
 }
Example #10
0
 public ResponseModel <bool> Roles_Update([FromBody] UserRolesViewModel model)
 {
     return(_aspNetRolesServices.Roles_Update(model));
 }
Example #11
0
        public ActionResult Users()
        {
            UserRolesViewModel urvm = _service.GetAllUsersAndRoles();

            return(this.View(urvm));
        }
        public async Task <bool> roleAssignToUser([FromBody] UserRolesViewModel userRolesView)
        {
            var result = await userRoleService.AddUserRoles(userRolesView);

            return(result.Succeeded);
        }
        public async Task <bool> DeleteUserRoles([FromBody] UserRolesViewModel userViewModel)
        {
            var result = await userRoleService.DeleteUserRoles(userViewModel);

            return(result.Succeeded);
        }
Example #14
0
        public async Task <IActionResult> Post([FromBody] UserRolesViewModel item)
        {
            var response = await _documentClient.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseId, collectionId), item);

            return(Ok());
        }
 public IViewComponentResult Invoke(UserRolesViewModel vm)
 {
     return(View(vm));
 }