/// <summary> /// Checks if this event should be a start event and returns the configuration created by the base class /// </summary> /// <returns>NodeConfiguration</returns> public override NodeConfiguration CreateConfiguration() { var parentViewModel = this.Parent as WorkflowEditorViewModel; var configuration = base.CreateConfiguration(); configuration.IsStartEvent = false; if (parentViewModel == null) { return(configuration); } // try to find out if this in pin is empty var flowInPins = FlowPins.Where(x => x.PinDirection == PinDirectionDefinition.In); foreach (var pin in flowInPins) { if (!parentViewModel.Connections.Any(x => x.TargetConnectorViewModel == pin)) { // no connections to this pin, so it must be a start event configuration.IsStartEvent = true; } } return(configuration); }
protected void CreateFlowInPin() { if (!nodeDefinition.InFlowPins.Any()) { var pin = new FlowPinDefinition { AllowMultiple = false, DisplayName = "In", Id = Guid.NewGuid(), Name = "FlowIn", PinDirection = PinDirectionDefinition.In }; nodeDefinition.InFlowPins.Add(pin); FlowPins.Add(new FlowConnectorViewModel(pin) { Parent = this, PinDirection = PinDirectionDefinition.In }); } }
private void FillPins() { foreach (var pin in nodeDefinition.InFlowPins) { FlowPins.Add(new FlowConnectorViewModel(pin) { Parent = this, PinDirection = PinDirectionDefinition.In }); } foreach (var pin in nodeDefinition.InDataPins) { DataPins.Add(new DataConnectorViewModel(pin) { Parent = this, PinDirection = PinDirectionDefinition.In }); } foreach (var pin in nodeDefinition.OutFlowPins) { FlowPins.Add(new FlowConnectorViewModel(pin) { Parent = this, PinDirection = PinDirectionDefinition.Out }); } foreach (var pin in nodeDefinition.OutDataPins) { DataPins.Add(new DataConnectorViewModel(pin) { Parent = this, PinDirection = PinDirectionDefinition.Out }); } }