public CommonResult AddClaim(string userName, ClaimTypeEnum type, ClaimValueEnum value)
        {
            using (var context = ContextFactory.GetDbContext(_dbConfiguration))
            {
                var user = context.Users
                        .Include(x => x.Claims)
                        .FirstOrDefault(x => x.UserName == userName);

                var claim = user.Claims.FirstOrDefault(x => x.ClaimType == type.ToString() && x.ClaimValue == value.ToString());

                if (claim == null)
                {
                    user.Claims.Add(new IdentityUserClaim<int>
                    {
                        UserId = user.Id,
                        ClaimType = type.ToString(),
                        ClaimValue = value.ToString()
                    });
                }

                context.SaveChanges();
            }

            return CommonResult.Success();
        }
 public static IHtmlContent PartialWithClaim(this IHtmlHelper helper, string partialName, object model, ClaimsPrincipal user, ClaimTypeEnum claimType, ClaimValueEnum claimValue)
 {
     if (user.HasClaim(claimType.ToString(), claimValue.ToString()))
     {
         return helper.Partial(partialName, model: model);
     }
     else
     {
         return helper.Raw(string.Empty);
     }
 }
 public ClaimMappingAttribute(ClaimTypeEnum claimType, ClaimValueEnum claimValue)
 {
     ClaimType = claimType;
     ClaimValue = claimValue;
 }
        public CommonResult RemoveClaim(string userName, ClaimTypeEnum type, ClaimValueEnum value)
        {
            var removeClaimResult = _permissionsRepository.RemoveClaim(userName, type, value);

            return removeClaimResult;
        }
        public CommonResult AddClaim(string userName, ClaimTypeEnum type, ClaimValueEnum value)
        {
            var addClaimResult = _permissionsRepository.AddClaim(userName, type, value);

            return addClaimResult;
        }
 private Claim CreateClaimByClaimEnums(ClaimTypeEnum type, ClaimValueEnum value)
 {
     return new Claim(type.ToString(), value.ToString());
 }
 private bool CheckClaim(IEnumerable<Claim> claims, ClaimTypeEnum type, ClaimValueEnum value)
 {
     return claims.FirstOrDefault(x => x.Type == type.ToString() && x.Value == value.ToString()) != null;
 }
        public CommonResult RemoveClaim(string userName, ClaimTypeEnum type, ClaimValueEnum value)
        {
            using (var context = ContextFactory.GetDbContext(_dbConfiguration))
            {
                var user = context.Users
                    .Include(x => x.Claims)
                    .FirstOrDefault(x => x.UserName == userName);

                var claim = user.Claims.FirstOrDefault(x => x.ClaimType == type.ToString() && x.ClaimValue == value.ToString());

                if (claim != null)
                {
                    user.Claims.Remove(claim);
                }

                context.SaveChanges();
            }

            return CommonResult.Success();
        }