public static List <string> CheckCamsClaims(List <Claim> claims)
        {
            var expectedClaims = new List <string>();

            expectedClaims.AddRange(ExpectedOpenAmClaims);

            if (!MgiAwRole.IsInTransactionalRole(claims))
            {
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxBillPayAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxAmendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxMoneyOrderAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxVendorPaymentAmount);
            }

            return(Compare(claims, expectedClaims));
        }
        public static List <string> CheckAll(List <Claim> claims, bool ignoreRoles = false)
        {
            var expectedClaims = new List <string>();

            expectedClaims.AddRange(ExpectedOpenAmClaims);
            expectedClaims.AddRange(ExpectedPartnerServiceClaims);
            expectedClaims.AddRange(ExpectedAgentProfileClaims);
            if (ignoreRoles)
            {
                expectedClaims.Remove(ClaimsNames.Roles);
            }
            if (!MgiAwRole.IsInTransactionalRole(claims))
            {
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxBillPayAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxSendCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxReceiveCancellationAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxAmendAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxMoneyOrderAmount);
                expectedClaims.Remove(ClaimsNames.MgiAppAwMaxVendorPaymentAmount);
            }
            return(Compare(claims, expectedClaims));
        }