public bool IsParentOf(DocumentHeader header) { if (header == null) throw new ArgumentNullException(nameof(header)); var parentPath = string.Join("/", header._parts.Take(header._parts.Length - 2)); return _path == parentPath; }
private void Verify(DocumentHeader[] list, int index, string id, string name) { list.Length.ShouldBeGreaterThanOrEqualTo(index); var item = list[index]; item.ShouldNotBeNull(name); item.Id.ShouldBe(id); item.Name.ShouldBe(name); }
public bool IsParentOf(DocumentHeader header) { if (header == null) { throw new ArgumentNullException(nameof(header)); } var parentPath = string.Join("/", header._parts.Take(header._parts.Length - 2)); return(_path == parentPath); }
private DocumentHeader(string id, string[] parts, DocumentHeader[] children = null) { if (parts == null) throw new ArgumentNullException(nameof(parts)); Id = id; Children = children ?? new DocumentHeader[0]; _parts = parts; _path = string.Join("/", parts); Order = parts.Skip(parts.Length - 2).FirstOrDefault(); Name = parts.Last(); }
private DocumentHeader AddChildren(DocumentHeader parent, IEnumerable <DocumentHeader> headers) { var children = headers.Where(parent.IsParentOf); return(parent.AddChildren(children)); }