public async Task <ActionResult> ChangeClaim(stringDTO @string) { var username = @string.text.Split("|")[0]; string newClaimValue = @string.text.Split("|")[1]; var user = _userManager.Users.First(c => c.UserName == username); //Get all claims Array claims = Enum.GetNames(typeof(ClaimsUsers)); List <string> claimsList = claims.OfType <string>().ToList(); var currentClaim = new Claim("", ""); var userClaims = _userManager.GetClaimsAsync(user).Result.ToList(); foreach (var claim in userClaims) { if (claimsList.Contains(claim.Value)) { currentClaim = new Claim(claim.Type, claim.Value); } } await _userManager.ReplaceClaimAsync(user, new Claim(currentClaim.Type, currentClaim.Value), new Claim(currentClaim.Type, newClaimValue)); _unitOfWorkManager.Save(); return(Ok()); }
public stringDTO Get(string search) { var usersWithClaims = new List <UsersWithClaims>(); //Get all users var users = _userManager.Users.ToList(); //Get all claims string[] claims = Enum.GetNames(typeof(ClaimsUsers)); foreach (var user in users) { usersWithClaims.Add(new UsersWithClaims() { UserId = user.Id, Username = user.UserName, Email = user.Email, LockOutEnabled = _userManager.IsLockedOutAsync(user).Result, Claim = claims, Organisation = _userManager.userHasClaim(user, "Organisation") }); } User currentUser = _userManager.Users.First(c => c.UserName == User.Identity.Name); var currentClaimUser = _userManager.GetClaimsAsync(currentUser).Result; stringDTO curUser = new stringDTO() { list = usersWithClaims.OrderBy(o => o.Username) .Where(u => u.Username.ToUpper().Contains(search.ToUpper())).ToList(), userClaim = currentClaimUser }; return(curUser); }
public async Task <ActionResult> DeleteUser(stringDTO username) { var userdel = _userManager.Users.First(c => c.UserName == username.text); await _userManager.DeleteAsync(userdel); _unitOfWorkManager.Save(); return(Ok()); }
public IActionResult DenyRequest(stringDTO val) { var request = _verifyRequestManager.Get().First(c => c.RequestId == val.id); var answerText = val.text; request.Accept = false; request.Answer = answerText; request.Treated = true; _verifyRequestManager.Update(request); _unitOfWorkManager.Save(); return(Ok()); }
public IActionResult AcceptRequest(stringDTO val) { var request = _verifyRequestManager.Get().First(c => c.RequestId == val.id); var answerText = val.text; request.Accept = true; request.Answer = answerText; request.Treated = true; var user = _userManager.Users.First(x => x.Id == request.UserId); _verifyRequestManager.Update(request); _userManager.AddClaimAsync(user, new Claim("Verified", "Verified")); _unitOfWorkManager.Save(); return(Ok()); }
public stringDTO Get() { List <UsersWithClaims> usersWithClaims = new List <UsersWithClaims>(); var subdomain = GetSubdomain(HttpContext.Request.Host.ToString()); //Get current user User userCurr = _userManager.GetUserAsync(User).Result; bool isSuperAdmin = _userManager.IsUserSuperAdmin(userCurr); //TODO isAdminOrAbove and !IsSuperAdmin //Get all users IList <User> users = _userManager.Users.ToList(); //TODO bedenkelijk mag dit weg /*//Get all users * if (!isSuperAdmin) * { * //TODO nakijken! * Claim claim = new Claim(subdomain, subdomain); * users = _userManager.GetUsersForClaimAsync(claim).Result; * * //Eventueel nieuwe methode * /*var claimsForSubdomain = _userManager.GetClaimsAsync(userFind).Result.Where(c => c.Type == subdomain).FirstOrDefault(); * if (claimsForSubdomain == null){#1# * }*/ //Get all claims string[] claims = Enum.GetNames(typeof(ClaimsUsers)); List <string> claimsList = claims.OfType <string>().ToList(); foreach (var user in users) { //Get claims from user var userClaims = _userManager.GetClaimsAsync(user).Result.Where(c => c.Type == subdomain).ToList(); foreach (var claim in userClaims) { if (claimsList.Contains(claim.Value)) { // currentClaim.Add(claim.Value); usersWithClaims.Add(new UsersWithClaims() { UserId = user.Id, Username = user.UserName, FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, CurrentClaim = claim.Value, LockOutEnabled = _userManager.IsLockedOutAsync(user).Result, Claim = claims, FirmName = user.FirmName, Organisation = _userManager.userHasClaim(user, "Organisation") }); } } } User currentUser = _userManager.Users.First(c => c.UserName == User.Identity.Name); var currentClaimUser = _userManager.GetClaimsAsync(currentUser).Result; stringDTO curUser = new stringDTO() { list = usersWithClaims.OrderBy(o => o.Username).ToList(), userClaim = currentClaimUser }; return(curUser); }