internal DirectoryContainer(SubDirectory owner) : base(owner) { if (null != owner.Container) { throw new InvalidOperationException(); } }
public FileNode AddFile(SubDirectory parent, string name, long length) { FileNode result = new FileNode(); SingleFile singleFile = SizeMappings.GetComponentByValue <SingleFile>(length); FilesBySize filesBySize; if (null != singleFile) { SizeMappings.Remove(singleFile); filesBySize = new FilesBySize(); filesBySize.AddFile(singleFile); filesBySize.AddFile(result.Grouped); } else { filesBySize = SizeMappings.GetComponentByValue <FilesBySize>(length); if (null != filesBySize) { filesBySize.AddFile(result.Grouped); } else { SizeMappings.AddValue(result.Grouped, length); } } parent.AddFile(result.StructureNode, name); return(result); }