public override object GetValue(ConnectorViewModel connector, object context) { if (VarName != null && VarName.Length > 0) { return(VariableCache.GetValue(VarName)); } return(null); }
public override void Execute(object context) { if (conIn.IsConnected) { object newContext = new object(); // new exuction node, new execution context Value = conIn.AttachedConnections.Select(connection => { try { object tmp = connection.SourceConnector.ParentNode.GetValue(connection.SourceConnector, context); if (typeof(INodeData).IsAssignableFrom(tmp.GetType())) { return((INodeData)tmp); } return(null); } catch { return(null); } }).Where(val => val != null).FirstOrDefault(); } else { Value = null; } if (Value != null) { Value = (INodeData)Value.Clone(); } if (VarName != null && VarName.Length > 0) { VariableCache.SetVariable(VarName, Value); } OnPropertyChanged("Note"); }