private bool IsThereOtherValidConditionAfterCurrentCondition(SelectCondition currentCondition, List <SelectCondition> conditions) { int index = conditions.FindIndex(item => item.Equals(currentCondition)); if (index == conditions.Count - 1) { return(false); } List <SelectCondition> conditionsBehindCurrentCondition = conditions.GetRange(index + 1, conditions.Count - index - 1); return(HasValidCondition(conditionsBehindCurrentCondition)); }
public void AddOrCondition(SelectCondition condition) => _orConditions.Add(condition);
public void AddAndCondition(SelectCondition condition) => _andConditions.Add(condition);
private bool IsThereOtherValidOrConditions(SelectCondition orCondition) { return(IsThereOtherValidConditionAfterCurrentCondition(orCondition, _orConditions)); }
private bool IsThereOtherValidAndConditions(SelectCondition andCondition) { return(IsThereOtherValidConditionAfterCurrentCondition(andCondition, _andConditions)); }