protected override void DoOrCompare() { for (int i = 0; i < _ContractList.Count; i++) { bool isNeedOne = false; bool isExistOr = false; foreach (SearchField item in _SearchFieldList) { if (item.ConditionField.EnumCollectedType != EnumCollectedType.Or) { continue; } isExistOr = true; isNeedOne = ContractFieldPara.IsNeedCondition(item, _ContractList[i]); if (isNeedOne) { break; } } if (isExistOr && !isNeedOne) { _ContractList.RemoveAt(i); i--; } } }
protected override void DoAndCompare() { for (int i = 0; i < _ContractList.Count; i++) { foreach (SearchField item in _SearchFieldList) { if (item.ConditionField.EnumCollectedType != EnumCollectedType.And) { continue; } bool isNeed = ContractFieldPara.IsNeedCondition(item, _ContractList[i]); if (!isNeed) { _ContractList.RemoveAt(i); i--; break; } } } }