public override IEnumerable<INodeFactory> GetNodeChildren(IContext context)
{
var dirInfo = _node.Item as DirectoryInfo;
if (null == dirInfo)
{
return null;
}
var entries = dirInfo.GetFilesTransacted().ToList();
entries.Take(2).ToList().ForEach(e =>
{
if (e.ToString().EndsWith("\\.") || e.ToString().EndsWith("\\.."))
{
entries.Remove(e);
}
});
entries.ToList().ForEach(e =>
{
if ((!context.TransactionAvailable() || -1 != (int)e.Attributes) && !context.Force && 0 != (e.Attributes & (FileAttributes.System | FileAttributes.Hidden)))
{
entries.Remove(e);
}
});
return entries.ConvertAll(fsi => new TxFNodeFactory(fsi)).Cast<INodeFactory>();
}