WorkflowDesigner.DesignSurfaceController.ProcessDeletedLink C# (CSharp) Method

ProcessDeletedLink() private method

private ProcessDeletedLink ( FunctionReference link ) : void
link WorkflowDesigner.Sdk.FunctionReference
return void
    private void ProcessDeletedLink(FunctionReference link)
    {
      if (link == null) return;

      var host = _surface.Children.OfType<LinkHost>().FirstOrDefault(l => l.Id == link.Id);
      if (host == null) return;

      // TODO: temp hack
      host.Source.HasOutgoingConnections = false;
      host.Target.HasIncomingConnections = false;

      // TODO: Denis: find out more structured way
      host.Source.DesignerControl.OutgoingLinks.Remove(host);
      host.Target.DesignerControl.IncomingLinks.Remove(host);

      _surface.Children.Remove(host);
    }