public decimal GetAllowedPrepaymentByChargeCard(ChargeCardType chargeCardType, decimal amount)
        {
            var discountPercentage = _settings.PrePayPercentage;

            if (chargeCardType == ChargeCardType.AmericanExpress)
            {
                return(decimal.Round(amount * discountPercentage, 2));
            }
            return(amount);
        }
Example #2
0
        public static string GetRegExpression(this ChargeCardType element)
        {
            switch (element)
            {
            case ChargeCardType.Visa:
                return("^4[0-9]{12}(?:[0-9]{3})?$");

            case ChargeCardType.MasterCard:
                return("^5[1-5][0-9]{14}$");

            case ChargeCardType.Discover:
                return("^6(?:011|5[0-9]{2})[0-9]{12}$");

            case ChargeCardType.AmericanExpress:
                return("^3[47][0-9]{13}$");

            default:
                throw new InvalidOperationException("Can't validate Card type '" + element.GetDescription() + "', as there is no regular expression provided!");
            }
        }