Files
serein-flow/Library/FlowNode/SereinProjectData.cs

272 lines
5.7 KiB
C#
Raw Normal View History

using Serein.Library.Api;
using System;
2024-08-05 10:11:58 +08:00
using System.Collections.Generic;
using System.Drawing;
2024-08-05 10:11:58 +08:00
using System.Linq;
using System.Reflection;
2024-08-05 10:11:58 +08:00
using System.Text;
using System.Threading.Tasks;
namespace Serein.Library
2024-08-05 10:11:58 +08:00
{
/// <summary>
/// 环境信息
/// </summary>
public class FlowEnvInfo
{
/// <summary>
/// 环境方法信息
/// </summary>
public LibraryMds[] LibraryMds { get; set; }
/// <summary>
/// 项目信息
/// </summary>
public SereinProjectData Project { get; set; }
// IOC节点对象信息
}
/// <summary>
/// 程序集相关的方法信息
/// </summary>
public class LibraryMds
{
/// <summary>
/// 程序集FullName
/// </summary>
public string LibraryName { get; set; }
/// <summary>
/// 相关的方法详情
/// </summary>
public MethodDetailsInfo[] Mds { get; set; }
}
/// <summary>
2024-10-11 19:31:34 +08:00
/// 项目保存文件
/// </summary>
public class SereinProjectData
2024-08-05 10:11:58 +08:00
{
/// <summary>
/// 基础
/// </summary>
public Basic Basic { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 依赖的DLL
/// </summary>
public Library[] Librarys { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 起始节点GUID
/// </summary>
public string StartNode { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点集合
2024-08-05 10:11:58 +08:00
/// </summary>
public NodeInfo[] Nodes { get; set; }
2024-08-05 10:11:58 +08:00
}
/// <summary>
/// 基础,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class Basic
{
/// <summary>
/// 画布
/// </summary>
public FlowCanvas Canvas { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 版本
/// </summary>
public string Versions { get; set; }
2024-08-05 10:11:58 +08:00
}
/// <summary>
/// 画布信息,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class FlowCanvas
{
/// <summary>
/// 宽度
/// </summary>
public double Width { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 高度
/// </summary>
public double Height { get; set; }
/// <summary>
/// 预览位置X
/// </summary>
public double ViewX { get; set; }
/// <summary>
/// 预览位置Y
/// </summary>
public double ViewY { get; set; }
/// <summary>
/// 缩放比例X
/// </summary>
public double ScaleX { get; set; }
/// <summary>
/// 缩放比例Y
/// </summary>
public double ScaleY { get; set; }
2024-08-05 10:11:58 +08:00
}
/// <summary>
/// 项目依赖的程序集,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class Library
{
/// <summary>
/// 文件名称
2024-08-05 10:11:58 +08:00
/// </summary>
public string FileName { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 文件路径
2024-08-05 10:11:58 +08:00
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// 程序集名称
/// </summary>
public string AssemblyName { get; set; }
2024-08-05 10:11:58 +08:00
}
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点信息,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class NodeInfo
{
/// <summary>
/// GUID
/// </summary>
public string Guid { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 名称
/// </summary>
public string MethodName { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 显示标签
/// </summary>
public string Label { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 类型
/// </summary>
public string Type { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 真分支节点GUID
2024-08-05 10:11:58 +08:00
/// </summary>
public string[] TrueNodes { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 假分支节点
2024-08-05 10:11:58 +08:00
/// </summary>
public string[] FalseNodes { get; set; }
/// <summary>
/// 上游分支
/// </summary>
public string[] UpstreamNodes { get; set; }
/// <summary>
/// 异常分支
/// </summary>
public string[] ErrorNodes { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 参数
2024-08-05 10:11:58 +08:00
/// </summary>
public Parameterdata[] ParameterData { get; set; }
/// <summary>
/// 如果是区域控件,则会存在子项。
/// </summary>
public string[] ChildNodeGuids { get; set; }
/// <summary>
/// 于画布中的位置
/// </summary>
public PositionOfUI Position { get; set; }
/// <summary>
/// 是否选中(暂时无效)
/// </summary>
public bool IsSelect { get; set; }
}
2024-10-11 19:31:34 +08:00
/// <summary>
/// 显示参数,项目文件相关
2024-10-11 19:31:34 +08:00
/// </summary>
public class Parameterdata
{
/// <summary>
/// 参数类型true时使用自定义的入参false时由运行环境自动传参
/// </summary>
public bool State { get; set; }
/// <summary>
/// 自定义入参
/// </summary>
public string Value { get; set; }
/// <summary>
/// 表达式相关节点的表达式内容
/// </summary>
public string Expression { get; set; }
2024-08-05 10:11:58 +08:00
}
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点于画布中的位置
/// </summary>
public class PositionOfUI
{ /// <summary>
/// 构造一个坐标
/// </summary>
public PositionOfUI()
{
}
/// <summary>
/// 构造一个坐标
/// </summary>
public PositionOfUI(double x, double y)
{
X = x; Y = y;
}
public double X { get; set; } = 0;
public double Y { get; set; } = 0;
2024-08-05 10:11:58 +08:00
}
2024-08-05 10:11:58 +08:00
}