public override void ApplyFilters(IModelFilter modelFilter, IListFilter listFilter) { filtered = filteredAddresses.ToArray(); }
/// <summary> /// Do the actual work of filtering /// </summary> /// <param name="objects"></param> /// <param name="aModelFilter"></param> /// <param name="aListFilter"></param> /// <returns></returns> protected virtual IEnumerable FilterObjects(IEnumerable objects, IModelFilter aModelFilter, IListFilter aListFilter) { // Being cautious objects = objects ?? new ArrayList(); // Tell the world to filter the objects. If they do so, don't do anything else FilterEventArgs args = new FilterEventArgs(objects); this.OnFilter(args); if (args.FilteredObjects != null) return args.FilteredObjects; // Apply a filter to the list as a whole if (aListFilter != null) objects = aListFilter.Filter(objects); // Apply the object filter if there is one if (aModelFilter != null) { ArrayList filteredObjects = new ArrayList(); foreach (object model in objects) { if (aModelFilter.Filter(model)) filteredObjects.Add(model); } objects = filteredObjects; } return objects; }
internal void RegisterNewFilter(IModelFilter newFilter) { TextMatchFilter textFilter = newFilter as TextMatchFilter; if (textFilter != null) { Filter = textFilter; return; } CompositeFilter composite = newFilter as CompositeFilter; if (composite != null) { foreach (TextMatchFilter textSubFilter in composite.TextFilters) { Filter = textSubFilter; return; } } Filter = null; }
/// <summary> /// /// </summary> /// <param name="modelFilter"></param> /// <param name="listFilter"></param> virtual public void ApplyFilters(IModelFilter modelFilter, IListFilter listFilter) { }
/// <summary> /// Apply the given filters to this data source. One or both may be null. /// </summary> /// <param name="iModelFilter"></param> /// <param name="iListFilter"></param> public override void ApplyFilters(IModelFilter iModelFilter, IListFilter iListFilter) { this.modelFilter = iModelFilter; this.listFilter = iListFilter; this.SetObjects(this.fullObjectList); }
private void FillArray(ArrayList vett, IDataReader rdr, System.Type type, IModelFilter modelFilter, Map fieldNames) { while (rdr != null && rdr.Read()) { ModelBase instance = ModelHelper.Instance.New(type, rdr); FilterResult stat = (modelFilter == null) ? FilterResult.Accept : modelFilter.Filter(vett, instance, fieldNames); if (stat == FilterResult.Accept) vett.Add(instance); else if (stat == FilterResult.Stop) break; } Logger.DebugFormat("{0} carica {1} records", this.GetType().Name, vett.Count); }
/// <summary> /// Apply the given filters to this data source. One or both may be null. /// </summary> /// <param name="iModelFilter"></param> /// <param name="iListFilter"></param> public override void ApplyFilters(IModelFilter iModelFilter, IListFilter iListFilter) { modelFilter = iModelFilter; listFilter = iListFilter; SetObjects(fullObjectList); }