实现MQTT关联变量的别名问题,实现了,同个变量发给不同的MQTT服务器的名称不同
This commit is contained in:
84
Models/VariableMqtt.cs
Normal file
84
Models/VariableMqtt.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using PMSWPF.Data.Entities;
|
||||
using PMSWPF.Enums;
|
||||
|
||||
namespace PMSWPF.Models;
|
||||
|
||||
/// <summary>
|
||||
/// 表示变量数据与MQTT服务器之间的关联模型,包含MQTT别名。
|
||||
/// </summary>
|
||||
public partial class VariableMqtt : ObservableObject
|
||||
{
|
||||
public VariableMqtt()
|
||||
{
|
||||
}
|
||||
|
||||
public VariableMqtt(VariableData? variableData, Mqtt? mqtt)
|
||||
{
|
||||
VariableData = variableData;
|
||||
Mqtt = mqtt;
|
||||
MqttAlias = MqttAlias != String.Empty ? MqttAlias : variableData.Name;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关联的唯一标识符。
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的变量数据ID。
|
||||
/// </summary>
|
||||
public int VariableDataId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的MQTT服务器ID。
|
||||
/// </summary>
|
||||
public int MqttId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量在该MQTT服务器上的别名。
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private string _mqttAlias = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 变量的唯一标识符(S7地址或OPC UA NodeId)。
|
||||
/// </summary>
|
||||
public string Identifier
|
||||
{
|
||||
get
|
||||
{
|
||||
if (VariableData.ProtocolType == ProtocolType.S7)
|
||||
{
|
||||
return VariableData.S7Address;
|
||||
}
|
||||
else if (VariableData.ProtocolType == ProtocolType.OpcUA)
|
||||
{
|
||||
return VariableData.OpcUaNodeId;
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间。
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间。
|
||||
/// </summary>
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 导航属性:关联的变量数据。
|
||||
/// </summary>
|
||||
public VariableData? VariableData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 导航属性:关联的MQTT服务器。
|
||||
/// </summary>
|
||||
public Mqtt? Mqtt { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user