Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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());
        }
Exemple #6
0
        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);
        }