FolderItemCollection
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace Relativity.Transfer
{
public class FolderItemCollection : IEnumerable<FolderItem>, IEnumerable
{
private readonly IEnumerable<DirectoryInfo> folderItemsToEnumerate;
public FolderItemCollection(IEnumerable<DirectoryInfo> directoryInfos)
{
if (directoryInfos == null)
throw new ArgumentNullException("directoryInfos");
folderItemsToEnumerate = directoryInfos;
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public IEnumerator<FolderItem> GetEnumerator()
{
foreach (DirectoryInfo item in folderItemsToEnumerate) {
yield return new FolderItem {
FullName = PathHelper.ForceRemoveLongPathPrefix(item.FullName),
Name = item.Name,
Parent = (PathHelper.ForceRemoveLongPathPrefix(item.Parent?.FullName) ?? string.Empty)
};
}
}
}
}