public ActionResult GetUserData(UserTypeToReturn typeToReturn) { List<UsersViewModel> viewModel = new List<UsersViewModel>(); string userId = User.Identity.GetUserId(); switch (typeToReturn) { case UserTypeToReturn.Administrator: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool isAdmin = AspUserManager.IsInRole(x.Id, "Admin"); if (isAdmin) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = "Administrator", IsLocked = AspUserManager.IsLockedOut(x.Id) }); } }); break; case UserTypeToReturn.User: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool isUser = AspUserManager.IsInRole(x.Id, "User"); if (isUser) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = "Użytkownik", IsLocked = AspUserManager.IsLockedOut(x.Id) }); } }); break; case UserTypeToReturn.All: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(), IsLocked = AspUserManager.IsLockedOut(x.Id) })); break; case UserTypeToReturn.Banned: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool result = AspUserManager.IsLockedOut(x.Id); if (result) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(), IsLocked = true }); } }); break; case UserTypeToReturn.NotBanned: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool result = AspUserManager.IsLockedOut(x.Id); if (!result) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(), IsLocked = false }); } }); break; } return PartialView("~/Areas/Admin/Views/Shared/UserList.cshtml", viewModel); }
public ActionResult GetUserData(UserTypeToReturn typeToReturn) { List <UsersViewModel> viewModel = new List <UsersViewModel>(); string userId = User.Identity.GetUserId(); switch (typeToReturn) { case UserTypeToReturn.Administrator: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool isAdmin = AspUserManager.IsInRole(x.Id, "Admin"); if (isAdmin) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = "Administrator", IsLocked = AspUserManager.IsLockedOut(x.Id) }); } }); break; case UserTypeToReturn.User: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool isUser = AspUserManager.IsInRole(x.Id, "User"); if (isUser) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = "Użytkownik", IsLocked = AspUserManager.IsLockedOut(x.Id) }); } }); break; case UserTypeToReturn.All: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(), IsLocked = AspUserManager.IsLockedOut(x.Id) })); break; case UserTypeToReturn.Banned: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool result = AspUserManager.IsLockedOut(x.Id); if (result) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(), IsLocked = true }); } }); break; case UserTypeToReturn.NotBanned: AspUserManager.Users .Where(x => x.Id != userId) .ForEach(x => { bool result = AspUserManager.IsLockedOut(x.Id); if (!result) { viewModel.Add(new UsersViewModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Email = x.Email, Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(), IsLocked = false }); } }); break; } return(PartialView("~/Areas/Admin/Views/Shared/UserList.cshtml", viewModel)); }