/// <summary> /// Read next item. /// </summary> /// <returns></returns> private T ReadNextItem() { var item = Delegate.Read(); if (item != null) { if (CurrentResource != null) { string fileName = CurrentResource.GetFileInfo().Name; context.Put(ResourceMap, _resourcesMap); if (_resourcesMap.ContainsKey(fileName)) { _resourcesMap[fileName].Add(item); } else { List <T> objectList = new List <T>(); objectList.Add(item); _resourcesMap.Add(fileName, objectList); } context.Put(ResourceMap, _resourcesMap); } } while (item == null) { _currentResource++; if (_currentResource >= Resources.Count) { break; } Delegate.Close(); Delegate.Resource = Resources[_currentResource]; Delegate.Open(new ExecutionContext()); item = Delegate.Read(); if (item != null) { if (CurrentResource != null) { string fileName = CurrentResource.GetFileInfo().Name; if (_resourcesMap.ContainsKey(fileName)) { _resourcesMap[fileName].Add(item); } else { List <T> objectList = new List <T>(); objectList.Add(item); _resourcesMap.Add(fileName, objectList); } context.Put(ResourceMap, _resourcesMap); } } } base.Update(context); return(item); }
/// <summary> /// Read next item. /// </summary> /// <returns></returns> private T ReadNextItem() { var item = Delegate.Read(); while (item == null) { _currentResource++; if (_currentResource >= Resources.Length) { break; } Delegate.Close(); Delegate.Resource = Resources[_currentResource]; Delegate.Open(new ExecutionContext()); item = Delegate.Read(); } return(item); }
/// <summary> /// Delegates to delegate stream. /// </summary> public override void Close() { Delegate.Close(); _noInput = false; }