/// <summary> /// Standard constructor /// </summary> /// <param name="trackers">The trackers to consolidate</param> public ResourceTrackerAggregator(IEnumerable trackers) { m_records = new ArrayList(); m_targets = new ArrayList(); // ReSharper disable once LoopCanBePartlyConvertedToQuery (Much clearer this way.) foreach (IResourceTracker rt in trackers) { foreach (ResourceEventRecord rer in rt.EventRecords) { if (!m_targets.Contains(rer.Resource)) { m_targets.Add(rer.Resource); } m_records.Add(rer); } // end foreach rer } // end foreach rt m_records.Sort(ResourceEventRecord.BySerialNumber(false)); } // end ResourceTrackerAggregator
/// <summary> /// Loads a collection of resource event records, and then sorts them by serial number in ascending order. /// </summary> /// <param name="bulkRecords">The collection of resource records to be added to this collection.</param> public void BulkLoad(ICollection bulkRecords) { BulkLoad(bulkRecords, true, ResourceEventRecord.BySerialNumber(false)); }
/// <summary> /// Loads a collection of resource event records, and then sorts them by serial number in ascending order. /// </summary> /// <param name="bulkRecords">The collection of resource records to be added to this collection.</param> /// <param name="clearAllFirst">If true, this tracker's ResourceEventRecord internal collection is cleared out before the new records are added.</param> public void BulkLoad(ICollection bulkRecords, bool clearAllFirst) { BulkLoad(bulkRecords, clearAllFirst, ResourceEventRecord.BySerialNumber(false)); }