public virtual void SetOutput(IValueItem item) { if (!AllowMultipleInputs) { foreach (var input in Inputs) Repository.Remove(input); } if (!AllowMultipleOutputs) { foreach (var output in Outputs) Repository.Remove(output); } var cd = new ConnectionData(); cd.InputIdentifier = item.Identifier; cd.OutputIdentifier = Identifier; Repository.Add(cd); }
public void AddConnection(string output, string input) { if (output == null) throw new ArgumentNullException("output"); if (input == null) throw new ArgumentNullException("input"); var connect = new ConnectionData(); connect.OutputIdentifier = output; connect.InputIdentifier = input; Repository.Add(connect); }
public void AddConnection(IConnectable output, IConnectable input) { if (!output.AllowMultipleOutputs) { ClearOutput(output); } if (!input.AllowMultipleInputs) { ClearInput(input); } var connect = new ConnectionData(); connect.OutputIdentifier = output.Identifier; connect.InputIdentifier = input.Identifier; Repository.Add(connect); output.OnConnectedToInput(input); input.OnConnectedFromOutput(output); }