mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
项目结构调整
This commit is contained in:
129
Extensions/AIStudio.Wpf.Flowchart/Models/FlowchartNode.cs
Normal file
129
Extensions/AIStudio.Wpf.Flowchart/Models/FlowchartNode.cs
Normal file
@@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Serializable;
|
||||
using AIStudio.Wpf.DiagramDesigner.Serializable.ViewModels;
|
||||
using AIStudio.Wpf.Flowchart.ViewModels;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.Models
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <seealso cref="AIStudio.Util.DiagramEntity.DiagramNode" />
|
||||
public class FlowchartNode : DiagramNode
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the kind.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The kind.
|
||||
/// </value>
|
||||
public NodeKinds Kind
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the user ids.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The user ids.
|
||||
/// </value>
|
||||
public IEnumerable<string> UserIds
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the role ids.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The role ids.
|
||||
/// </value>
|
||||
public IEnumerable<string> RoleIds
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the type of the act.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The type of the act.
|
||||
/// </value>
|
||||
public string ActType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the color.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The color.
|
||||
/// </value>
|
||||
public string StatusColor
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public override DiagramItemViewModel ToNodel(IDiagramViewModel diagramViewModel)
|
||||
{
|
||||
FlowNode flowNode = null;
|
||||
switch (Kind)
|
||||
{
|
||||
case NodeKinds.Start:
|
||||
{
|
||||
flowNode = new StartFlowNode(diagramViewModel);
|
||||
break;
|
||||
}
|
||||
|
||||
case NodeKinds.End:
|
||||
{
|
||||
flowNode = new EndFlowNode(diagramViewModel);
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Decide:
|
||||
{
|
||||
flowNode = new DecideFlowNode(diagramViewModel);
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COBegin:
|
||||
{
|
||||
flowNode = new COBeginFlowNode(diagramViewModel);
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COEnd:
|
||||
{
|
||||
flowNode = new COEndFlowNode(diagramViewModel);
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Middle:
|
||||
{
|
||||
var flowchartNodelModel = new MiddleFlowNode(diagramViewModel);
|
||||
flowNode = flowchartNodelModel;
|
||||
flowchartNodelModel.UserIds = UserIds?.ToList();
|
||||
flowchartNodelModel.RoleIds = RoleIds?.ToList();
|
||||
flowchartNodelModel.ActType = ActType;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
var flowNodelModel = new FlowNode(diagramViewModel, NodeKinds.Normal);
|
||||
flowNode = flowNodelModel;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
flowNode.StatusColor = StatusColor;
|
||||
flowNode.Kind = Kind;
|
||||
|
||||
return flowNode;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user