public SoodaObjectListSnapshot(SoodaTransaction tran, SoodaObjectFilter filter, ClassInfo ci) { this.classInfo = ci; List <WeakSoodaObject> al = tran.GetObjectsByClassName(ci.Name); if (al != null) { // al.Clone() is needed because // the filter expression may materialize new objects // during checking. This way we avoid "collection modified" exception List <SoodaObject> clonedArray = new List <SoodaObject>(); foreach (WeakSoodaObject wr in al) { SoodaObject obj = wr.TargetSoodaObject; if (obj != null) { clonedArray.Add(obj); } } foreach (SoodaObject obj in clonedArray) { if (filter(obj)) { items.Add(obj); } } count = items.Count; } }
public SoodaObjectListSnapshot(IList list, SoodaObjectFilter filter) { foreach (SoodaObject o in list) { if (filter(o)) AddObjectToSnapshot(o); } }
public SoodaObjectListSnapshot(IList list, SoodaObjectFilter filter) { foreach (SoodaObject o in list) { if (filter(o)) { AddObjectToSnapshot(o); } } }
public ISoodaObjectList Filter(SoodaObjectFilter filter) { return(new SoodaObjectListSnapshot(this, filter)); }
protected ISoodaObjectList Filter2(SoodaObjectFilter filter) { return(_theList.Filter(filter)); }
ISoodaObjectList ISoodaObjectList.Filter(SoodaObjectFilter filter) { return(_theList.Filter(filter)); }
public ISoodaObjectList Filter(SoodaObjectFilter filter) { return new SoodaObjectListSnapshot(this, filter); }
public SoodaObjectListSnapshot(SoodaTransaction tran, SoodaObjectFilter filter, ClassInfo ci) { this.classInfo = ci; List<WeakSoodaObject> al = tran.GetObjectsByClassName(ci.Name); if (al != null) { // al.Clone() is needed because // the filter expression may materialize new objects // during checking. This way we avoid "collection modified" exception List<SoodaObject> clonedArray = new List<SoodaObject>(); foreach (WeakSoodaObject wr in al) { SoodaObject obj = wr.TargetSoodaObject; if (obj != null) clonedArray.Add(obj); } foreach (SoodaObject obj in clonedArray) { if (filter(obj)) { items.Add(obj); } } count = items.Count; } }