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); }
internal GroupedContainer(FilesBySize owner) : base(owner) { if (null != owner.Group) { throw new InvalidOperationException(); } }
internal FileGroupSite(FilesBySize component, SizeMappingContainer container, long length) : base(component, container, length) { if (length < 0L) { throw new ArgumentOutOfRangeException("length"); } }