mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-09 02:36:35 +08:00
分离完成 AIStudio.Wpf.DiagramModels 用于对接三分软件的模型
This commit is contained in:
118
AIStudio.Wpf.Flowchart/Models/FlowchartNode.cs
Normal file
118
AIStudio.Wpf.Flowchart/Models/FlowchartNode.cs
Normal file
@@ -0,0 +1,118 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AIStudio.Wpf.DiagramModels;
|
||||
using AIStudio.Wpf.DiagramModels.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;
|
||||
}
|
||||
|
||||
public override DiagramItemViewModel ToNodel()
|
||||
{
|
||||
FlowNode flowNode = null;
|
||||
switch (Kind)
|
||||
{
|
||||
case NodeKinds.Start:
|
||||
{
|
||||
flowNode = new StartFlowNode();
|
||||
break;
|
||||
}
|
||||
|
||||
case NodeKinds.End:
|
||||
{
|
||||
flowNode = new EndFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Decide:
|
||||
{
|
||||
flowNode = new DecideFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COBegin:
|
||||
{
|
||||
flowNode = new COBeginFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.COEnd:
|
||||
{
|
||||
flowNode = new COEndFlowNode();
|
||||
break;
|
||||
}
|
||||
case NodeKinds.Middle:
|
||||
{
|
||||
var flowchartNodelModel = new MiddleFlowNode();
|
||||
flowNode = flowchartNodelModel;
|
||||
flowchartNodelModel.UserIds = UserIds?.ToList();
|
||||
flowchartNodelModel.RoleIds = RoleIds?.ToList();
|
||||
flowchartNodelModel.ActType = ActType;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
var flowNodelModel = new FlowNode(NodeKinds.Normal);
|
||||
flowNode = flowNodelModel;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
flowNode.Name = Name;
|
||||
flowNode.Color = Color;
|
||||
flowNode.Kind = Kind;
|
||||
|
||||
return flowNode;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user