/// <summary> /// Initializes a new instance of the <see cref="RuleBasedDealsSelector"/> class. /// </summary> /// <param name="dealsClient"> /// The deals client. /// </param> /// <param name="dealsSelectionRules"> /// The deals selection rules. /// </param> /// <exception cref="ArgumentNullException">dealsClient or dealsSelectionRules are null </exception> public RuleBasedDealsSelector(IDealsClient dealsClient, DealsSelectionRules dealsSelectionRules) { if (dealsClient == null) { throw new ArgumentNullException("dealsClient"); } if (dealsSelectionRules == null) { throw new ArgumentNullException("dealsSelectionRules"); } this.dealsClient = dealsClient; this.defaultDealsSelectionConditions = dealsSelectionRules.Default; this.dealsLocations = dealsSelectionRules.Locations.ToDictionary(elem => elem.Id, elem => elem); }
/// <summary> /// Initializes a new instance of the <see cref="RuleBasedDealsSelector"/> class. /// </summary> /// <param name="dealsClient"> /// The deals client. /// </param> /// <param name="settingsContainerClient"> /// The settings Container Client. /// </param> public RuleBasedDealsSelector(IDealsClient dealsClient, SettingsContainerClient settingsContainerClient) : this(dealsClient, settingsContainerClient.GetDealsSelectionRules()) { }
/// <summary> /// Initializes a new instance of the <see cref="NaiveDealsSelector"/> class. /// </summary> /// <param name="dealsClient"> /// The deals client. /// </param> public NaiveDealsSelector(IDealsClient dealsClient) { this.dealsClient = dealsClient; }