public void RemoveDriver(IDriver driver) { _store.Remove(driver); foreach (var child in driver.Children) { RemoveNode(child); } }
public async Task NotifyDeleted(NodeInstance node) { await ExecuteAction(node, _ => _?.OnDelete(node)); var driverNode = _mapper.Get(node.ObjId); if (driverNode == null) { return; } foreach (var child in driverNode.Children) { await NotifyDeleted(child.DriverContext.NodeInstance); } await driverNode.Stop(); _mapper.Remove(driverNode); }