Пример #1
0
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await _usermanager.FindByIdAsync(userId);

            if (user == null)
            {
                return(NotFound());
            }
            var ExistingUserClaim = await _usermanager.GetClaimsAsync(user);

            var model = new UserClaimViewModel {
                UserId = userId
            };

            foreach (Claim claim in ClaimsStore.AllClaims)
            {
                UserClaim userClaim = new UserClaim {
                    ClaimType = claim.Type
                };
                if (ExistingUserClaim.Any(c => c.Type == claim.Type))
                {
                    userClaim.IsSelected = true;
                }
                model.Claims.Add(userClaim);
            }
            return(View(model));
        }
Пример #2
0
        public async Task <IActionResult> ManageUserClaims(UserClaimViewModel model)
        {
            var user = await userManager.FindByIdAsync(model.UserId);

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

            // Get all the user existing claims and delete them
            var claims = await userManager.GetClaimsAsync(user);

            var result = await userManager.RemoveClaimsAsync(user, claims);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Cannot remove user existing claims");
                return(View(model));
            }

            // Add all the claims that are selected on the UI
            result = await userManager.AddClaimsAsync(user,
                                                      model.Claims.Select(c => new Claim(c.ClaimType, c.IsSelected ? "true": "false")));

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Cannot add selected claims to user");
                return(View(model));
            }

            return(RedirectToAction("EditUser", new { Id = model.UserId }));
        }
Пример #3
0
        public async Task <IActionResult> ManageClaims(string id)
        {
            List <UserClaimViewModel> claimList = new List <UserClaimViewModel>();
            var userClaimViewModel = new UserClaimViewModel
            {
                user_id = id,
                claims  = new List <UserClaimViewModel>()
            };
            var configBlob = AzureService.GetBlob("cdn", "private", null, null, $"user/{id}", WebUIConfig.membershipFile);
            var json       = await configBlob.DownloadGenericObjectAsync();

            var accounts = JsonUtils.GetJToken(Constants.JsontagAccount, json);

            if (accounts == null)
            {
                return(View(userClaimViewModel));
            }
            var AccountObj = accounts as JArray;

            foreach (var account in AccountObj)
            {
                var name = await AzureService.FindAccountName(account.ToString());

                if (name != null)
                {
                    claimList.Add(new UserClaimViewModel()
                    {
                        Name = name, GUid = account.ToString()
                    });
                }
            }
            userClaimViewModel.claims = claimList;
            return(View(userClaimViewModel));
        }
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id = {userId} not found in the System";
                return(View("NotFound"));
            }
            var existingUserClaims = await userManager.GetClaimsAsync(user);

            var model = new UserClaimViewModel
            {
                UserId = user.Id,
            };

            foreach (Claim claim in ClaimStore.AllClaims)
            {
                UserClaim uClaim = new UserClaim
                {
                    ClaimType = claim.Type
                };
                if (existingUserClaims.Any(c => c.Type == claim.Type))
                {
                    uClaim.IsSelected = true;
                }
                model.Claims.Add(uClaim);
            }

            return(View(model));
        }
Пример #5
0
        public async Task <IActionResult> Edit(UserClaimViewModel vm)
        {
            if (vm == null)
            {
                return(BadRequest());
            }

            if (ModelState.IsValid)
            {
                var claim = await _dbContext.UserClaims.FindAsync(vm.Id);

                if (claim == null)
                {
                    return(BadRequest());
                }

                claim.ClaimType  = vm.ClaimType;
                claim.ClaimValue = vm.ClaimValue;

                try
                {
                    await _dbContext.SaveChangesAsync();

                    _logger.LogInformation($"User claim Id {claim.Id} updated by {User?.Identity?.Name}.");
                }
                catch (DbException ex)
                {
                    _logger.LogError(ex.GetBaseException()?.Message ?? ex.Message);
                    throw;
                }
            }

            return(RedirectToAction("Edit", "Users", new { id = vm.UserId }));
        }
Пример #6
0
        public async Task <IActionResult> Delete(UserClaimViewModel vm)
        {
            if (vm == null)
            {
                return(BadRequest());
            }

            var claim = await _dbContext.UserClaims.FindAsync(vm.Id);

            if (claim == null)
            {
                return(BadRequest());
            }

            _dbContext.UserClaims.Remove(claim);
            try
            {
                await _dbContext.SaveChangesAsync();

                _logger.LogInformation($"User claim Id {vm.Id} removed by {User?.Identity?.Name}.");
            }
            catch (DbException ex)
            {
                _logger.LogError(ex.GetBaseException()?.Message ?? ex.Message);
                throw;
            }

            return(RedirectToAction("Edit", "Users", new { id = vm.UserId }));
        }
Пример #7
0
        public async Task <IActionResult> Index()
        {
            List <UserClaimViewModel> listUserClaims = new List <UserClaimViewModel>();

            var UserClaimList = await(from uc in _context.UserClaims
                                      join u in _context.Users on uc.UserId equals u.Id
                                      select new
            {
                uc.Id,
                uc.UserId,
                uc.ClaimType,
                uc.ClaimValue,
                u.UserName,
            }).ToListAsync();

            foreach (var item in UserClaimList)
            {
                UserClaimViewModel dataList = new UserClaimViewModel
                {
                    Id         = item.Id,
                    UserId     = item.UserId,
                    UserName   = item.UserName,
                    ClaimType  = item.ClaimType,
                    ClaimValue = item.ClaimValue
                };

                listUserClaims.Add(dataList);
            }
            return(View(listUserClaims));
        }
        public async Task <IActionResult> ManageUserClaims(UserClaimViewModel model)
        {
            var user = await userManager.FindByIdAsync(model.UserId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id = {model.UserId} found in the System";
                return(View("NotFound"));
            }
            var claims = await userManager.GetClaimsAsync(user);

            var result = await userManager.RemoveClaimsAsync(user, claims);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Cannot Remove user Claims");
            }
            result = await userManager
                     .AddClaimsAsync(user, model.Claims.Where(c => c.IsSelected).Select(c => new Claim(c.ClaimType, c.ClaimType)));

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Cannot Add Selected user Claims");
            }
            return(RedirectToAction("EditUser", new { id = model.UserId }));
        }
        public async Task <IActionResult> ManageUserClaim(UserClaimViewModel model)
        {
            var user = await userManager.FindByIdAsync(model.UserId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User id={model.UserId} is not found";
                return(View("NotFound"));
            }
            var claim = await userManager.GetClaimsAsync(user);

            var result = await userManager.RemoveClaimsAsync(user, claim);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Can not remove user's Existing Claims");
                return(View(model));
            }
            //result = await userManager.AddClaimsAsync(user, model.Claims.Where(c => c.IsSelected)
            //    .Select(d => new Claim(d.ClaimType,d.ClaimType)));
            ////Boolean type access claim
            result = await userManager.AddClaimsAsync(user, model.Claims.Select(d => new Claim(d.ClaimType, d.IsSelected?"true":"false")));

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Can not add selected Claims to user");
                return(View(model));
            }
            return(RedirectToAction("EditUser", new { Id = model.UserId }));
        }
Пример #10
0
        public UserClaimItemModel()
            : base()
        {
            UserClaim = new UserClaimViewModel();

            OnConstructor();
        }
        public async Task <IActionResult> ManageUserClaim(UserClaimViewModel model)
        {
            var user = await userManager.FindByIdAsync(model.UserId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id: {model.UserId} cannot be found!";
                return(View("Error"));
            }
            var claims = await userManager.GetClaimsAsync(user);

            var result = await userManager.RemoveClaimsAsync(user, claims);

            if (!result.Succeeded)
            {
                ModelState.AddModelError(string.Empty, "Cannot remove existing claims in the user!");
                return(View(model));
            }

            result = await userManager.AddClaimsAsync(user, model.Claims.Where(c => c.IsSelected)
                                                      .Select(c => new Claim(c.ClaimType, c.ClaimType)));

            if (!result.Succeeded)
            {
                ModelState.AddModelError(string.Empty, "Cannot add new claims to the user!");
                return(View(model));
            }

            return(RedirectToAction("EditUser", new { Id = model.UserId }));
        }
Пример #12
0
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"Role with Id = {userId} cannot be found";
                return(View("NotFound"));
            }
            var existingClaims = await _userManager.GetClaimsAsync(user);

            UserClaimViewModel model = new UserClaimViewModel()
            {
                UserId = userId
            };

            foreach (var claim in ClaimRepo.AllClaims)
            {
                UserClaim userClaim = new UserClaim()
                {
                    ClaimType = claim.Type
                };

                //If the user has the claim, set is selected property to true, so the checkbox
                //next to the claim is checked on the UI aka UserInterface...lol
                if (existingClaims.Any(c => c.Type == claim.Type && c.Value == "true"))
                {
                    userClaim.isSelected = true;
                }
                model.Claims.Add(userClaim);
            }


            return(View(model));
        }
Пример #13
0
        public async Task <IActionResult> ManageUserClaims(UserClaimViewModel userClaimViewModel)
        {
            var user = await UserManager.FindByIdAsync(userClaimViewModel.UserId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with id {userClaimViewModel.UserId} cannot be found from post";
                return(View("NotFound"));
            }
            var claims = await UserManager.GetClaimsAsync(user);

            var result = await UserManager.RemoveClaimsAsync(user, claims);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "cannot remove user existing claims");
                return(View(userClaimViewModel));
            }
            result = await UserManager.AddClaimsAsync(user, userClaimViewModel.Claims.Where(c => c.IsSelected).Select(c => new Claim(c.ClaimType, c.ClaimType)));

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "cannot add selected claimsto user");
                return(View(userClaimViewModel));
            }
            return(RedirectToAction("EditUser", new { id = userClaimViewModel.UserId }));
        }
Пример #14
0
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await UserManager.FindByIdAsync(userId);

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

            var existingUserClaims = await UserManager.GetClaimsAsync(user);

            var model = new UserClaimViewModel
            {
                UserId = userId
            };

            foreach (Claim claim in ClaimsStore.AllClaims)
            {
                UserClaim userClaim = new UserClaim()
                {
                    ClaimType  = claim.Type,
                    IsSelected = false
                };

                // check if the current claim is selected for the user
                if (existingUserClaims.Any(c => c.Type == claim.Type))
                {
                    userClaim.IsSelected = true;
                }
                model.Claims.Add(userClaim);
            }
            return(View(model));
        }
Пример #15
0
        public async Task <IActionResult> ManageUserClaim(UserClaimViewModel model)
        {
            var user = await _userManager.FindByIdAsync(model.UserId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id: {model.UserId} can not found!";
                return(View("NotFound"));
            }

            var claims = await _userManager.GetClaimsAsync(user);

            var result = await _userManager.RemoveClaimsAsync(user, claims);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Can not remove Existing Claims!");
                return(View(model));
            }

            result = await _userManager.AddClaimsAsync(user,
                                                       model.Cliams.Where(c => c.IsSelected).Select(d => new Claim(d.ClaimType, d.ClaimType)));

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Can not add to selected claim to user");
                return(View(model));
            }

            return(RedirectToAction("EditUser", new { Id = model.UserId }));
        }
Пример #16
0
        public async Task <IActionResult> ManageUserClaim(string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User With id {userId} Can not found!";
                return(View("NotFound"));
            }

            var existingclaims = await _userManager.GetClaimsAsync(user);

            var model = new UserClaimViewModel
            {
                UserId = userId
            };

            foreach (var claim in ClaimStore.AllClaims)
            {
                UserCliam userCliam = new UserCliam
                {
                    ClaimType = claim.Type
                };
                //if the user has the claim, set isSelect Property is true,so the checkbox
                //next to the claim is checked on the other UI
                if (existingclaims.Any(c => c.Type == claim.Type))
                {
                    userCliam.IsSelected = true;
                }
                model.Cliams.Add(userCliam);
            }

            return(View(model));
        }
Пример #17
0
        public async Task <IActionResult> ManageUserClaim(string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

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

            var existingUserClaim = await _userManager.GetClaimsAsync(user);

            var model = new UserClaimViewModel
            {
                UserId = userId
            };

            foreach (Claim claim in ClaimStore.AllClaims)
            {
                UserClaim userClaim = new UserClaim
                {
                    ClaimType = claim.Type,
                };

                if (existingUserClaim.Any(x => x.Type == claim.Type && x.Value == "True"))
                {
                    userClaim.IsSelected = true;
                }
                model.Claims.Add(userClaim);
            }

            return(View(model));
        }
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"The Id {userId} can not be found";
                return(View("NotFound"));
            }

            var existingUserClaims = await userManager.GetClaimsAsync(user);

            var model = new UserClaimViewModel
            {
                UserId = userId
            };

            foreach (Claim claim in ClaimsStore.AllClaims)
            {
                UserClaim userClaim = new UserClaim
                {
                    ClaimType = claim.Type
                };

                if (existingUserClaims.Any(c => c.Type == claim.Type && c.Value == "true"))
                {
                    userClaim.IsSelected = true;
                }
                model.Claims.Add(userClaim);
            }

            return(View(model));
        }
Пример #19
0
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await userManager.FindByIdAsync(userId);

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

            var userClaims = await userManager.GetClaimsAsync(user);

            UserClaimViewModel model = new UserClaimViewModel()
            {
                UserId = userId
            };

            foreach (var claim in ClaimStore.AllClaims)
            {
                UserClaim uClaim = new UserClaim()
                {
                    ClaimType = claim.Value
                };

                if (userClaims.Any(c => c.Type == claim.Type))
                {
                    uClaim.IsSelected = true;
                }

                model.UserClaims.Add(uClaim);
            }

            return(View(model));
        }
Пример #20
0
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id = {userId} cannot be found.";
                return(RedirectToAction("NotFound"));
            }
            var existingClaims = await _userManager.GetClaimsAsync(user);

            var model = new UserClaimViewModel()
            {
                UserId = userId
            };

            foreach (Claim claim in ClaimsStore.ListOfUserClaims)
            {
                UserClaims userClaims = new UserClaims()
                {
                    ClaimType = claim.Type
                };

                if (existingClaims.Any(x => x.Type == claim.Type && x.Value == "true"))
                {
                    userClaims.IsSelected = true;
                }

                model.UserClaims.Add(userClaims);
            }
            return(View(model));
        }
Пример #21
0
        public async Task <IActionResult> ManageUserClaims(UserClaimViewModel model)
        {
            var user = await _userManager.FindByIdAsync(model.UserId);

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

            var claims = await _userManager.GetClaimsAsync(user);

            var result = await _userManager.RemoveClaimsAsync(user, claims);

            if (!result.Succeeded)
            {
                ModelState.AddModelError(string.Empty, "Cannot remove user existing role");
                return(View(model));
            }

            result = await _userManager.AddClaimsAsync(user, model.Claims.Select(c => new Claim(c.ClaimType, c.isSelected ? "true" : "false")));

            if (!result.Succeeded)
            {
                ModelState.AddModelError(string.Empty, "Cannot remove user existing role");
                return(View(model));
            }
            return(RedirectToAction("EditUser", new { id = model.UserId }));
        }
Пример #22
0
        public async Task<IActionResult> ManageUserClaim(UserClaimViewModel userClaimViewModel)
        {
            var user = await userManager.FindByIdAsync(userClaimViewModel.UserId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User Id {user.Id} is not here";

                return View("NotFound");
            }

            var existingUserClaims = await userManager.GetClaimsAsync(user);
            var result = await userManager.RemoveClaimsAsync(user, existingUserClaims);

            if(result.Succeeded==false)
            {
                ViewBag.ErrorMessage = $"We can not Delete the existing User Claims";

                return View("NotFound");
            }

            result = await userManager.AddClaimsAsync(user, userClaimViewModel.Claims.Where(s => s.IsSelected).Select(x => new Claim(x.ClaimTyope, x.ClaimTyope)));

            if (result.Succeeded == false)
            {
                ViewBag.ErrorMessage = $"Cannot add selected Claims to the USER!";

                return View("NotFound");
            }


            return RedirectToAction("EditUser", new { ID = userClaimViewModel.UserId });
        }
Пример #23
0
 public UserClaimItemModel(ZActivityOperations activityOperations, string controllerAction, string masterEntity = null, string masterKey = null, UserClaimViewModel userClaim = null)
     : this()
 {
     ActivityOperations = activityOperations;
     ControllerAction   = controllerAction;
     MasterEntity       = masterEntity;
     MasterKey          = masterKey;
     UserClaim          = userClaim ?? UserClaim;
 }
Пример #24
0
        public static List <UserClaimViewModel> ConvertToViewModelList(this List <bx_claim_detail> details)
        {
            List <UserClaimViewModel> viewModels = new List <UserClaimViewModel>();

            foreach (bx_claim_detail detail in details)
            {
                UserClaimViewModel vm = detail.ConverToViewModel();
                viewModels.Add(vm);
            }

            return(viewModels);
        }
Пример #25
0
        public async Task <UserClaimViewModel> GetUserInfos()
        {
            var user   = HttpContext.User;
            var dbUser = await _userManager.GetUserAsync(user);

            UserClaimViewModel userClaimViewModel = new UserClaimViewModel()
            {
                Email    = dbUser.Email,
                UserName = dbUser.UserName,
                UserId   = dbUser.Id
            };

            return(userClaimViewModel);
        }
Пример #26
0
        public async Task <IActionResult> ManageUserClaims(string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with {userId} can't be found";
                return(View("NotFound"));
            }
            var existingUserClaims = await _userManager.GetClaimsAsync(user);

            //ClaimIdentity--> UserClaimModel
            var dataModel = new UserClaimModel
            {
                UserId = userId,
            };

            foreach (Claim claim in ClaimsStore.AllClaims)
            {
                var userClaim = new DataAccess.Models.UserClaim
                {
                    ClaimType = claim.Type,
                };
                if (existingUserClaims.Any(x => x.Type == claim.Type && x.Value == "true"))
                {
                    userClaim.IsSelected = true;
                }
                dataModel.Claims.Add(userClaim);
            }

            //UserClaimModel --> UserClaimViewModel

            var model = new UserClaimViewModel
            {
                UserId = dataModel.UserId,
            };

            foreach (var item in dataModel.Claims)
            {
                var userclaim = new PicGallery.ViewModels.UserClaim
                {
                    ClaimType  = item.ClaimType,
                    IsSelected = item.IsSelected
                };
                model.Claims.Add(userclaim);
            }

            return(View(model));
        }
        public async Task <IActionResult> AssignClaims(UserClaimViewModel model)
        {
            var user = await userManager.FindByIdAsync(model.UserId);

            var claim = new Claim(model.Claim, model.Claim);

            var result = await userManager.AddClaimAsync(user, claim);

            if (result.Succeeded)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View(model));
        }
Пример #28
0
        public async Task <IActionResult> ManageUserClaim(string id)
        {
            var user = await _userManager.FindByIdAsync(id);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"I cant find this user with id {id}";
                return(RedirectToAction("NotFound", "Administration"));
            }
            var claims = await _userManager.GetClaimsAsync(user);

            UserClaimViewModel userClaim = new UserClaimViewModel
            {
                Id = id
            };

            if (!claims.Any())
            {
                foreach (var claim in ListClaims.claims)
                {
                    userClaim.Claims.Add(new UserClaim {
                        ClaimType = claim.Type,
                    });
                }
            }
            else
            {
                bool isSelected;
                foreach (var claim in ListClaims.claims)
                {
                    isSelected = false;
                    foreach (var item in claims)
                    {
                        if (claim.Type == item.Type)
                        {
                            isSelected = true;
                            break;
                        }
                    }
                    userClaim.Claims.Add(new UserClaim {
                        ClaimType = claim.Type, IsSelected = isSelected
                    });
                }
            }


            return(View(userClaim));
        }
Пример #29
0
        public static UserClaimViewModel ConverToViewModel(this bx_claim_detail detail)
        {
            UserClaimViewModel vm = new UserClaimViewModel();

            if (detail.endcase_time.HasValue)
            {
                vm.EndcaseTime = detail.endcase_time.Value.ToString("yyyy-MM-dd");
            }
            if (detail.loss_time.HasValue)
            {
                vm.LossTime = detail.loss_time.Value.ToString("yyyy-MM-dd");
            }
            vm.PayAmount      = detail.pay_amount ?? 0;
            vm.PayCompanyName = detail.pay_company_name;
            return(vm);
        }
        public async Task <IActionResult> AssignClaims(string userId)
        {
            var user = await userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(Content("User Not found"));
            }
            var model = new UserClaimViewModel()
            {
                UserId         = userId,
                AssignedClaims = await userManager.GetClaimsAsync(user),
                Claims         = TestClaims.Claims
            };

            return(View(model));
        }