private void delete(RhspDataID dataID, Type dataType) { IRhspData data = (IRhspData)getSingleOfType(dataID, dataType); deleteWithoutSave(dataID, dataType, ConfigDocument); if (data is IRhspDataParent) { // Set each child to deleted, then process. IRhspDataParent dataParent = (IRhspDataParent)data; List <IRhspDataChild> childList = dataParent.GetDataChildren().ToList(); // Process all the marked deletions. childList.ForEach(c => c.PendingAction = ChildPendingAction.Delete); } }
private void updateChildDataParent(IRhspData data) { if (data is IRhspDataParent) { IRhspDataParent parent = (IRhspDataParent)data; // Apply parent ID to all child data. parent.GetDataChildren().ToList().ForEach( c => { c.ParentID = data.DataID; c.Parent = parent; } ); } }
protected void SetParent(IRhspDataParent parent, IRhspDataChild child) { child.Parent = parent; child.ParentID = parent.DataID; }
private TChild withParent <TChild>(IRhspDataChild child, IRhspDataParent parent) where TChild : IRhspDataChild { child.Parent = parent; return((TChild)child); }
protected void SetParent(IRhspDataParent parent, IEnumerable <IRhspDataChild> children) { children.ToList().ForEach(c => SetParent(parent, c)); }