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);
        }
Exemplo n.º 4
0
        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);
        }