public override bool Evaluate(DataObject dataObject) { Search search = new Search(dataObject.GetType()); SearchConditionGroup conditionGroup = new SearchConditionGroup(SearchConditionGroup.SearchConditionGroupTypes.And); foreach (string field in uniqueFields) { conditionGroup.SearchConditions.Add(new GenericSearchCondition(dataObject.GetType()) { Field = field, SearchConditionType = SearchCondition.SearchConditionTypes.Equals, Value = dataObject.GetField(field).GetValue(dataObject) }); } if (dataObject.PrimaryKeyField.GetValue(dataObject) != null) { long?primaryKey = dataObject.PrimaryKeyField.GetValue(dataObject) as long?; conditionGroup.SearchConditions.Add(new LongSearchCondition(dataObject.GetType()) { Field = dataObject.PrimaryKeyField.FieldName, SearchConditionType = SearchCondition.SearchConditionTypes.NotEquals, Value = primaryKey }); } search.SearchCondition = conditionGroup; return(!search.ExecuteExists(null)); }
// // Search Method private List <SearchConditionGroup> BuildCondition() { List <SearchConditionGroup> _scgList = new List <SearchConditionGroup>(); // List <SearchCondition> _sc1 = new List <SearchCondition>(); string param = Request.QueryString["param"]; if (!string.IsNullOrEmpty(param)) { _sc1.Add(new SearchCondition() { PropertyName = "RoleName", Operation = SearchOperationEnum.Contains, PropertyValue = param }); } SearchConditionGroup _scg1 = new SearchConditionGroup() { ConditionList = _sc1, ConstraintType = ConstraintType.Or }; // List <SearchCondition> _sc2 = new List <SearchCondition>(); if (!string.IsNullOrEmpty(param)) { _sc2.Add(new SearchCondition() { PropertyName = "Description", Operation = SearchOperationEnum.Contains, PropertyValue = param }); } SearchConditionGroup _scg2 = new SearchConditionGroup() { ConditionList = _sc2, ConstraintType = ConstraintType.And }; _scgList.Add(_scg1); _scgList.Add(_scg2); return(_scgList); }