public decimal GetAllowedPrepaymentByChargeCard(ChargeCardType chargeCardType, decimal amount) { var discountPercentage = _settings.PrePayPercentage; if (chargeCardType == ChargeCardType.AmericanExpress) { return(decimal.Round(amount * discountPercentage, 2)); } return(amount); }
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!"); } }