Esempio n. 1
0
        public static IEnumerable <string> GetPaymentPolicy(this ESubscriptionPolicy role)
        {
            List <string> result = new List <string> {
                role.ToString(), nameof(ESubscriptionPolicy.NONE)
            };

            if (!role.HasFlag(ESubscriptionPolicy.TIER_1))
            {
                result.Add(nameof(ESubscriptionPolicy.TIER_1));
            }

            if (!role.HasFlag(ESubscriptionPolicy.TIER_2))
            {
                result.Add(nameof(ESubscriptionPolicy.TIER_2));
            }

            if (!role.HasFlag(ESubscriptionPolicy.TIER_3))
            {
                result.Add(nameof(ESubscriptionPolicy.TIER_3));
            }

            if (!role.HasFlag(ESubscriptionPolicy.PREMIUM))
            {
                result.Add(nameof(ESubscriptionPolicy.PREMIUM));
            }

            return(result);
        }
Esempio n. 2
0
        public static bool HasPaymentPolicy(this ESubscriptionPolicy policy, IEnumerable <Claim> claims)
        {
            if (policy == ESubscriptionPolicy.NONE)
            {
                return(true);
            }

            Claim claim = claims?.FirstOrDefault(x => x.Type.Equals(nameof(EClaimTypes.SUBSCRIPTION_LEVEL)));

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

            Enum.TryParse(claim.Value, out ESubscriptionPolicy value);
            return(value.HasFlag(policy));
        }