BPMN Connectors in Blazor Diagram Component
15 Dec 20227 minutes to read
The BPMN Connectors are lines that connect BPMN flow objects.
They are classified as follows.
- Association
 - Sequence
 - Message
 
Association
The BPMN Association flow is used to link flow objects with its corresponding text or artifact. An association is represented as a dotted graphical line with an opened arrow. The types of association are as follows:
- Directional
 - BiDirectional
 - Default
 
The association property allows you to define the type of association. The following code example explains how to create an association.
@using Syncfusion.Blazor.Diagrams
@using System.Collections.ObjectModel
@* Initialize Diagram *@
<SfDiagram Height="600px" Connectors="@ConnectorCollection">
</SfDiagram>
@code{
    //Defines diagram's connector collection
    public ObservableCollection<DiagramConnector> ConnectorCollection { get; set; }
    protected override void OnInitialized()
    {
        ConnectorCollection = new ObservableCollection<DiagramConnector>();
        DiagramConnector connector = new DiagramConnector()
        {
            //Unique Id of the connector
            Id = "connector1",
            // Start and end point of the connector
            SourcePoint = new ConnectorSourcePoint() { X = 100, Y = 200 },
            TargetPoint = new ConnectorTargetPoint() { X = 300, Y = 200 },
            //Sets the type to Bpmn, flow to Association and association to bidirectional
            Shape = new DiagramConnectorShape()
            {
                Type = ConnectionShapes.Bpmn,
                BpmnFlow = BpmnFlows.Association,
                Association = BpmnAssociationFlows.BiDirectional
            }
        };
        ConnectorCollection.Add(connector);
    }
}The following table shows the visual representation of association flows.
| Association | Image | 
|---|---|
| Default | ![]()  | 
    
| Directional | ![]()  | 
    
| BiDirectional | ![]()  | 
    
NOTE
The default value for the property
Associationis Default.
Sequence
A Sequence flow shows the order that the activities are performed in a BPMN process and is represented by a solid graphical line. The types of sequence are as follows:
- Normal
 - Conditional
 - Default
 
The sequence property allows you to define the type of sequence. The following code example explains how to create a sequence flow.
@using Syncfusion.Blazor.Diagrams
@using System.Collections.ObjectModel
@* Initialize Diagram *@
<SfDiagram Height="600px" Connectors="@ConnectorCollection">
</SfDiagram>
@code{
    //Defines diagram's connector collection
    public ObservableCollection<DiagramConnector> ConnectorCollection { get; set; }
    protected override void OnInitialized()
    {
        ConnectorCollection = new ObservableCollection<DiagramConnector>();
        DiagramConnector connector = new DiagramConnector()
        {
            //Unique Id of the connector
            Id = "connector1",
            // Start and end point of the connector
            SourcePoint = new ConnectorSourcePoint() { X = 100, Y = 200 },
            TargetPoint = new ConnectorTargetPoint() { X = 300, Y = 200 },
            //Sets type to Bpmn, flow to Sequence, and sequence to Conditional
            Shape = new DiagramConnectorShape()
            {
                Type = ConnectionShapes.Bpmn,
                BpmnFlow = BpmnFlows.Sequence,
                Sequence = BpmnSequenceFlows.Conditional
            }
        };
        ConnectorCollection.Add(connector);
    }
}The following table contains various representation of sequence flows.
| Sequence | Image | 
|---|---|
| Default | ![]()  | 
    
| Conditional | ![]()  | 
    
| Normal | ![]()  | 
    
NOTE
The default value for the property
Sequenceis Normal.
Message
A Message flow shows the flow of messages between two participants and is represented by dashed line. The types of message are as follows:
- InitiatingMessage
 - NonInitiatingMessage
 - Default
 
The message property allows you to define the type of message. The following code example explains how to define a message flow.
@using Syncfusion.Blazor.Diagrams
@using System.Collections.ObjectModel
@* Initialize Diagram *@
<SfDiagram Height="600px" Connectors="@ConnectorCollection">
</SfDiagram>
@code{
    //Defines diagram's connector collection
    public ObservableCollection<DiagramConnector> ConnectorCollection { get; set; }
    protected override void OnInitialized()
    {
        ConnectorCollection = new ObservableCollection<DiagramConnector>();
        DiagramConnector connector = new DiagramConnector()
        {
            //Unique Id of the connector
            Id = "connector1",
            // Start and end point of the connector
            SourcePoint = new ConnectorSourcePoint() { X = 100, Y = 200 },
            TargetPoint = new ConnectorTargetPoint() { X = 300, Y = 200 },
            //Sets type to Bpmn, flow to Message, and message to InitiatingMessage
            Shape = new DiagramConnectorShape()
            {
                Type = ConnectionShapes.Bpmn,
                BpmnFlow = BpmnFlows.Message,
                Message = BpmnMessageFlows.InitiatingMessage
            }
        };
        ConnectorCollection.Add(connector);
    }
}The following table contains various representation of message flows.
| Message | Image | 
|---|---|
| Default | ![]()  | 
    
| InitiatingMessage | ![]()  | 
    
| NonInitiatingMessage | ![]()  | 
    
NOTE
The default value for the property
Messageis Default.







