public void RemoveScheduleCriterion(IScheduleCriterion criterion) { if (_scheduleCriteria.Contains(criterion)) { _scheduleCriteria.Remove(criterion); } }
public void AddScheduleCriterion(IScheduleCriterion criterion) { if (!criterion.MultipleCriteriaAllowed && _scheduleCriteria.Any(c => c.GetType() == criterion.GetType())) { throw new InvalidOperationException("The criterion only allows to be applied once"); } _scheduleCriteria.Add(criterion); }