public void RemoveMoleculeNode(IMoleculeNode moleculeNode) { DiagramModel.RemoveNode(moleculeNode.Id); foreach (var reactionNode in moleculeNode.GetLinkedNodes <ReactionNode>()) { UpdateReactionBuilder(PkModel.First(node => node.Id == reactionNode.Id), reactionNode); } }
protected override bool MustHandleNew(IObjectBase obj) { if (obj == null || PkModel == null) { return(false); } return(obj.IsAnImplementationOf <IReactionBuilder>() && PkModel.Contains(obj.DowncastTo <IReactionBuilder>())); }
public IMoleculeNode AddMoleculeNode(string moleculeName) { var newMoleculeNode = createMoleculeNode(moleculeName); foreach (var moleculeNode in GetMoleculeNodes(moleculeName)) { foreach (var reactionNode in moleculeNode.GetLinkedNodes <ReactionNode>()) { UpdateReactionBuilder(PkModel.First(node => node.Id == reactionNode.Id), reactionNode); } } return(newMoleculeNode); }
protected override bool MustHandleNew(IObjectBase obj) { if (obj == null || PkModel == null) { return(false); } if (obj.IsAnImplementationOf <INeighborhoodBuilder>() && PkModel.Contains(((IEntity)obj).RootContainer)) { return(true); } if (obj.GetType() == typeof(Container) && PkModel.Contains(((IEntity)obj).RootContainer)) { return(true); } return(false); }