public DynamicContentEvaluator(IDynamicContentRepository repository, IEvaluationPolicy[] policies, ICacheRepository cache) : base(cache) { _repository = repository; _policies = policies; IsEnabled = DynamicContentConfiguration.Instance != null && DynamicContentConfiguration.Instance.Cache.IsEnabled; }
public DisplayTemplateEvaluator(IAppConfigRepository repository, IEvaluationPolicy[] policies, ICacheRepository cache) :base(cache) { _repository = repository; _policies = policies; IsEnabled = AppConfigConfiguration.Instance != null && AppConfigConfiguration.Instance.Cache.IsEnabled; Cache = new CacheHelper(cache); }
public DefaultPromotionEvaluator(IMarketingRepository repository, IPromotionUsageProvider usageProvider, IEvaluationPolicy[] policies, ICacheRepository cache) :base(cache) { _repository = repository; _usageProvider = usageProvider; _policies = policies; _isEnabled = MarketingConfiguration.Instance.Cache.IsEnabled; Cache = new CacheHelper(cache); }
public PromotionRecord[] EvaluatePolicies(PromotionRecord[] records, IEvaluationPolicy[] policies = null) { policies = policies ?? _policies; records = SortPromotionRecords(records); return policies.Aggregate(records, (current, policy) => policy.FilterPromotions(null, current)); }