public Item AddDaughter(Item item) { Item newItem; var p = GetLastDaughter(); if (p != null) { newItem = p.AppendItem(item); } else { ItemContents itemContents; if (item == null) { itemContents = new ItemContents(); } else { itemContents = item.SharedContents; } newItem = new Item(OwnerRelation, itemContents) { _parent = this }; Daughter = newItem; } return(newItem); }
public Item(Relation relation, ItemContents sharedContents) { OwnerRelation = relation; if (sharedContents != null) { SharedContents = sharedContents; } else { SharedContents = new ItemContents(); } _parent = null; Daughter = null; _next = null; _prev = null; SharedContents.AddItemRelation(relation.Name, this); }