/// <summary> /// Добавить новый дочерний узел. /// </summary> /// <param name="component">Добавляемый узел.</param> public override void Add(Component component) { if (component.GetType() != typeof(PressureNode)) { _children = component; component.SetParent(this); component.SetLevel(Level + 1); } else throw new Exception("Нельзя подключать к трубе узел давления в качестве дочернего элемента."); }
/// <summary> /// Добавить дочерний узел. /// </summary> /// <param name="component">Добавляемый узел.</param> public override void Add(Component component) { if (component.GetType() == typeof(FlowPath)) { if (_children.All(x => x.Name != component.Name)) { _children.Add(component); component.SetParent(this); component.SetLevel(Level + 1); } } else throw new Exception("К узлу переноса массы можно подключить только трубу в качестве дочернего элемента."); }
/// <summary> /// Удалить выбранный дочерний узел. /// </summary> /// <param name="component">Удаляемый узел.</param> public override void Remove(Component component) { if (_children == component) { component.SetParent(null); _children = null; } }
/// <summary> /// Удалить выбранный дочерний узел. /// </summary> /// <param name="component">Удаляемый узел.</param> public override void Remove(Component component) { if (_children.Any(x => x.Name == component.Name)) { component.SetParent(null); _children.Remove(component); } }