refactor: 将VariableMqttAlias改为MqttAlias,将VariableMqttAliasItemViewModel改为MqttAliasItem
This commit is contained in:
@@ -27,5 +27,5 @@ public class MqttServerDto
|
||||
public string MessageHeader { get; set; }
|
||||
public string MessageContent { get; set; }
|
||||
public string MessageFooter { get; set; }
|
||||
public List<VariableMqttAlias> VariableAliases { get; set; } = new();
|
||||
public List<MqttAlias> VariableAliases { get; set; } = new();
|
||||
}
|
||||
@@ -17,7 +17,7 @@ public class VariableDto
|
||||
public double NumericValue { get; set; }
|
||||
public string DisplayValue { get; set; }
|
||||
public VariableTableDto? VariableTable { get; set; }
|
||||
public List<VariableMqttAlias>? MqttAliases { get; set; } = new List<VariableMqttAlias>();
|
||||
public List<MqttAlias>? MqttAliases { get; set; } = new List<MqttAlias>();
|
||||
public SignalType SignalType { get; set; }
|
||||
public int PollingInterval { get; set; }
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
@@ -12,7 +12,7 @@ public interface IMqttAliasAppService
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
Task<List<VariableMqttAlias>> GetAliasesForVariableAsync(int variableId);
|
||||
Task<List<MqttAlias>> GetAliasesForVariableAsync(int variableId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步为变量分配或更新一个MQTT别名。
|
||||
|
||||
@@ -44,7 +44,7 @@ public interface IAppDataStorageService
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有MQTT变量别名的数据
|
||||
/// </summary>
|
||||
ConcurrentDictionary<int, VariableMqttAlias> VariableMqttAliases { get; }
|
||||
ConcurrentDictionary<int, MqttAlias> VariableMqttAliases { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有触发器定义数据
|
||||
|
||||
@@ -41,7 +41,7 @@ public class AppDataStorageService : IAppDataStorageService
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有MQTT变量别名的数据
|
||||
/// </summary>
|
||||
public ConcurrentDictionary<int, VariableMqttAlias> VariableMqttAliases { get; } = new();
|
||||
public ConcurrentDictionary<int, MqttAlias> VariableMqttAliases { get; } = new();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ public class MqttAliasAppService : IMqttAliasAppService
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
public async Task<List<VariableMqttAlias>> GetAliasesForVariableAsync(int variableId)
|
||||
public async Task<List<MqttAlias>> GetAliasesForVariableAsync(int variableId)
|
||||
{
|
||||
// 从仓储获取别名,并确保加载了关联的MqttServer信息
|
||||
var aliases = await _repoManager.VariableMqttAliases.GetAliasesForVariableAsync(variableId);
|
||||
@@ -61,7 +61,7 @@ public class MqttAliasAppService : IMqttAliasAppService
|
||||
var variable = await _repoManager.Variables.GetByIdAsync(variableId);
|
||||
var mqttServer = await _repoManager.MqttServers.GetByIdAsync(mqttServerId);
|
||||
|
||||
var newAlias = new VariableMqttAlias
|
||||
var newAlias = new MqttAlias
|
||||
{
|
||||
VariableId = variableId,
|
||||
MqttServerId = mqttServerId,
|
||||
|
||||
@@ -156,7 +156,7 @@ namespace DMS.Application.Services.Database
|
||||
await _repositoryManager.Variables.DeleteByVariableTableIdAsync(id);
|
||||
|
||||
// 删除关联的MQTT别名
|
||||
// await _repositoryManager.VariableMqttAlias.DeleteByVariableTableIdAsync(id);
|
||||
// await _repositoryManager.MqttAlias.DeleteByVariableTableIdAsync(id);
|
||||
|
||||
// 删除关联的菜单树
|
||||
await _repositoryManager.Menus.DeleteMenuTreeByTargetIdAsync(MenuType.VariableTableMenu, id);
|
||||
|
||||
@@ -4,22 +4,22 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Core.Interfaces.Repositories
|
||||
{
|
||||
public interface IVariableMqttAliasRepository : IBaseRepository<VariableMqttAlias>
|
||||
public interface IVariableMqttAliasRepository : IBaseRepository<MqttAlias>
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
Task<List<VariableMqttAlias>> GetAliasesForVariableAsync(int variableId);
|
||||
Task<List<MqttAlias>> GetAliasesForVariableAsync(int variableId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步根据变量和服务器获取别名关联。
|
||||
/// </summary>
|
||||
Task<VariableMqttAlias> GetByVariableAndServerAsync(int variableId, int mqttServerId);
|
||||
Task<MqttAlias> GetByVariableAndServerAsync(int variableId, int mqttServerId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有变量与MQTT别名关联。
|
||||
/// </summary>
|
||||
/// <returns>包含所有变量与MQTT别名关联实体的列表。</returns>
|
||||
Task<List<VariableMqttAlias>> GetAllAsync();
|
||||
Task<List<MqttAlias>> GetAllAsync();
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ namespace DMS.Core.Interfaces.Services
|
||||
/// <summary>
|
||||
/// 更新MQTT服务器变量别名
|
||||
/// </summary>
|
||||
void UpdateVariableMqttAliases(int mqttServerId, List<VariableMqttAlias> variableMqttAliases);
|
||||
void UpdateVariableMqttAliases(int mqttServerId, List<MqttAlias> variableMqttAliases);
|
||||
|
||||
/// <summary>
|
||||
/// 获取MQTT服务器连接状态
|
||||
@@ -55,7 +55,7 @@ namespace DMS.Core.Interfaces.Services
|
||||
/// <summary>
|
||||
/// 发布变量数据到MQTT服务器
|
||||
/// </summary>
|
||||
Task PublishVariableDataAsync(VariableMqttAlias variableMqtt, CancellationToken cancellationToken = default);
|
||||
Task PublishVariableDataAsync(MqttAlias variableMqtt, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 发布批量变量数据到MQTT服务器
|
||||
|
||||
@@ -4,7 +4,7 @@ using DMS.Core.Models;
|
||||
/// 领域模型:代表一个变量到一个MQTT服务器的特定关联,包含专属别名。
|
||||
/// 这是一个关联实体,用于解决多对多关系中需要额外属性(别名)的问题。
|
||||
/// </summary>
|
||||
public class VariableMqttAlias
|
||||
public class MqttAlias
|
||||
{
|
||||
/// <summary>
|
||||
/// 唯一标识符。
|
||||
@@ -68,5 +68,5 @@ public class MqttServer
|
||||
/// <summary>
|
||||
/// 与此服务器关联的所有变量别名。通过此集合可以反向查找关联的变量。
|
||||
/// </summary>
|
||||
public List<VariableMqttAlias> VariableAliases { get; set; } = new();
|
||||
public List<MqttAlias> VariableAliases { get; set; } = new();
|
||||
}
|
||||
@@ -57,7 +57,7 @@ public class Variable
|
||||
/// <summary>
|
||||
/// 此变量的所有MQTT发布别名关联。一个变量可以关联多个MQTT服务器,每个关联可以有独立的别名。
|
||||
/// </summary>
|
||||
public List<VariableMqttAlias> MqttAliases { get; set; } = new();
|
||||
public List<MqttAlias> MqttAliases { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// OPC UA NodeId (仅当 Protocol 为 OpcUa 时有效)。
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace DMS.Infrastructure.Interfaces.Services
|
||||
/// <summary>
|
||||
/// 发布变量数据到MQTT服务器
|
||||
/// </summary>
|
||||
Task PublishVariableDataAsync(VariableMqttAlias variableMqtt, CancellationToken cancellationToken = default);
|
||||
Task PublishVariableDataAsync(MqttAlias variableMqtt, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 发布批量变量数据到MQTT服务器
|
||||
|
||||
@@ -30,7 +30,7 @@ public class MappingProfile : Profile
|
||||
CreateMap<DbMqttServer, MqttServer>()
|
||||
.ForMember(dest => dest.VariableAliases, opt => opt.Ignore())
|
||||
.ReverseMap();
|
||||
CreateMap<DbVariableMqttAlias, VariableMqttAlias>()
|
||||
CreateMap<DbVariableMqttAlias, MqttAlias>()
|
||||
.ReverseMap();
|
||||
|
||||
CreateMap<DbMenu, MenuBean>().ReverseMap();
|
||||
|
||||
@@ -36,20 +36,20 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
/// </summary>
|
||||
/// <param name="id">变量与MQTT别名关联的唯一标识符。</param>
|
||||
/// <returns>对应的变量与MQTT别名关联实体,如果不存在则为null。</returns>
|
||||
public async Task<VariableMqttAlias> GetByIdAsync(int id)
|
||||
public async Task<MqttAlias> GetByIdAsync(int id)
|
||||
{
|
||||
var dbVariableMqttAlias = await base.GetByIdAsync(id);
|
||||
return _mapper.Map<VariableMqttAlias>(dbVariableMqttAlias);
|
||||
return _mapper.Map<MqttAlias>(dbVariableMqttAlias);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有变量与MQTT别名关联。
|
||||
/// </summary>
|
||||
/// <returns>包含所有变量与MQTT别名关联实体的列表。</returns>
|
||||
public async Task<List<VariableMqttAlias>> GetAllAsync()
|
||||
public async Task<List<MqttAlias>> GetAllAsync()
|
||||
{
|
||||
var dbList = await base.GetAllAsync();
|
||||
return _mapper.Map<List<VariableMqttAlias>>(dbList);
|
||||
return _mapper.Map<List<MqttAlias>>(dbList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -57,7 +57,7 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
/// </summary>
|
||||
/// <param name="entity">要添加的变量与MQTT别名关联实体。</param>
|
||||
/// <returns>添加成功后的变量与MQTT别名关联实体(包含数据库生成的ID等信息)。</returns>
|
||||
public async Task<VariableMqttAlias> AddAsync(VariableMqttAlias entity)
|
||||
public async Task<MqttAlias> AddAsync(MqttAlias entity)
|
||||
{
|
||||
var dbVariableMqttAlias = await base.AddAsync(_mapper.Map<DbVariableMqttAlias>(entity));
|
||||
return _mapper.Map(dbVariableMqttAlias, entity);
|
||||
@@ -68,14 +68,14 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
/// </summary>
|
||||
/// <param name="entity">要更新的变量与MQTT别名关联实体。</param>
|
||||
/// <returns>受影响的行数。</returns>
|
||||
public async Task<int> UpdateAsync(VariableMqttAlias entity) => await base.UpdateAsync(_mapper.Map<DbVariableMqttAlias>(entity));
|
||||
public async Task<int> UpdateAsync(MqttAlias entity) => await base.UpdateAsync(_mapper.Map<DbVariableMqttAlias>(entity));
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除变量与MQTT别名关联。
|
||||
/// </summary>
|
||||
/// <param name="entity">要删除的变量与MQTT别名关联实体。</param>
|
||||
/// <returns>受影响的行数。</returns>
|
||||
public async Task<int> DeleteAsync(VariableMqttAlias entity) => await base.DeleteAsync(_mapper.Map<DbVariableMqttAlias>(entity));
|
||||
public async Task<int> DeleteAsync(MqttAlias entity) => await base.DeleteAsync(_mapper.Map<DbVariableMqttAlias>(entity));
|
||||
|
||||
/// <summary>
|
||||
/// 异步根据ID删除变量与MQTT别名关联。
|
||||
@@ -98,24 +98,24 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
/// </summary>
|
||||
/// <param name="number">要获取的变量与MQTT别名关联数量。</param>
|
||||
/// <returns>包含指定数量变量与MQTT别名关联实体的列表。</returns>
|
||||
public new async Task<List<VariableMqttAlias>> TakeAsync(int number)
|
||||
public new async Task<List<MqttAlias>> TakeAsync(int number)
|
||||
{
|
||||
var dbList = await base.TakeAsync(number);
|
||||
return _mapper.Map<List<VariableMqttAlias>>(dbList);
|
||||
return _mapper.Map<List<MqttAlias>>(dbList);
|
||||
|
||||
}
|
||||
|
||||
public async Task<List<VariableMqttAlias>> AddBatchAsync(List<VariableMqttAlias> entities)
|
||||
public async Task<List<MqttAlias>> AddBatchAsync(List<MqttAlias> entities)
|
||||
{
|
||||
var dbEntities = _mapper.Map<List<DbVariableMqttAlias>>(entities);
|
||||
var addedEntities = await base.AddBatchAsync(dbEntities);
|
||||
return _mapper.Map<List<VariableMqttAlias>>(addedEntities);
|
||||
return _mapper.Map<List<MqttAlias>>(addedEntities);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取指定变量的所有MQTT别名关联。
|
||||
/// </summary>
|
||||
public async Task<List<VariableMqttAlias>> GetAliasesForVariableAsync(int variableId)
|
||||
public async Task<List<MqttAlias>> GetAliasesForVariableAsync(int variableId)
|
||||
{
|
||||
// 查询别名关联,并包含关联的Variable和MqttServer信息
|
||||
var dbList = await _dbContext.GetInstance().Queryable<DbVariableMqttAlias>()
|
||||
@@ -139,7 +139,7 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
var mqttServerDict = mqttServers.ToDictionary(m => m.Id, m => _mapper.Map<MqttServer>(m));
|
||||
|
||||
// 映射主实体并设置导航属性
|
||||
var result = _mapper.Map<List<VariableMqttAlias>>(dbList);
|
||||
var result = _mapper.Map<List<MqttAlias>>(dbList);
|
||||
foreach (var alias in result)
|
||||
{
|
||||
if (variableDict.TryGetValue(alias.VariableId, out var variable))
|
||||
@@ -159,7 +159,7 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
/// <summary>
|
||||
/// 异步根据变量和服务器获取别名关联。
|
||||
/// </summary>
|
||||
public async Task<VariableMqttAlias> GetByVariableAndServerAsync(int variableId, int mqttServerId)
|
||||
public async Task<MqttAlias> GetByVariableAndServerAsync(int variableId, int mqttServerId)
|
||||
{
|
||||
var dbAlias = await _dbContext.GetInstance().Queryable<DbVariableMqttAlias>()
|
||||
.Where(x => x.VariableId == variableId && x.MqttServerId == mqttServerId)
|
||||
@@ -178,7 +178,7 @@ public class VariableMqttAliasRepository : BaseRepository<DbVariableMqttAlias>,
|
||||
.FirstAsync();
|
||||
|
||||
// 映射主实体并设置导航属性
|
||||
var result = _mapper.Map<VariableMqttAlias>(dbAlias);
|
||||
var result = _mapper.Map<MqttAlias>(dbAlias);
|
||||
result.Variable = _mapper.Map<Variable>(variable);
|
||||
result.MqttServer = _mapper.Map<MqttServer>(mqttServer);
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
/// <summary>
|
||||
/// 发布变量数据到MQTT服务器
|
||||
/// </summary>
|
||||
public async Task PublishVariableDataAsync(VariableMqttAlias variableMqtt, CancellationToken cancellationToken = default)
|
||||
public async Task PublishVariableDataAsync(MqttAlias variableMqtt, CancellationToken cancellationToken = default)
|
||||
{
|
||||
await _mqttServiceManager.PublishVariableDataAsync(variableMqtt, cancellationToken);
|
||||
}
|
||||
|
||||
@@ -28,14 +28,14 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
/// <summary>
|
||||
/// 与该MQTT服务器关联的所有变量MQTT别名
|
||||
/// </summary>
|
||||
public ConcurrentDictionary<int, VariableMqttAlias> VariableMqttAliases { get; set; }
|
||||
public ConcurrentDictionary<int, MqttAlias> VariableMqttAliases { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public MqttDeviceContext()
|
||||
{
|
||||
VariableMqttAliases = new ConcurrentDictionary<int, VariableMqttAlias>();
|
||||
VariableMqttAliases = new ConcurrentDictionary<int, MqttAlias>();
|
||||
ReconnectAttempts = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
/// <summary>
|
||||
/// 更新MQTT服务器变量别名
|
||||
/// </summary>
|
||||
public void UpdateVariableMqttAliases(int mqttServerId, List<VariableMqttAlias> variableMqttAliases)
|
||||
public void UpdateVariableMqttAliases(int mqttServerId, List<MqttAlias> variableMqttAliases)
|
||||
{
|
||||
if (_mqttContexts.TryGetValue(mqttServerId, out var context))
|
||||
{
|
||||
@@ -232,7 +232,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
/// <summary>
|
||||
/// 发布变量数据到MQTT服务器
|
||||
/// </summary>
|
||||
public async Task PublishVariableDataAsync(VariableMqttAlias variableMqtt, CancellationToken cancellationToken = default)
|
||||
public async Task PublishVariableDataAsync(MqttAlias variableMqtt, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (variableMqtt?.MqttServer == null || variableMqtt.Variable == null)
|
||||
{
|
||||
@@ -269,7 +269,7 @@ namespace DMS.Infrastructure.Services.Mqtt
|
||||
}
|
||||
}
|
||||
|
||||
private string BuildSendMessage(VariableMqttAlias variableMqtt)
|
||||
private string BuildSendMessage(MqttAlias variableMqtt)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var now = DateTime.Now;
|
||||
|
||||
@@ -181,12 +181,6 @@
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="ViewModels\Items\" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="Configurations\nlog.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace DMS.WPF.Profiles
|
||||
CreateMap<OpcUaNode, OpcUaNodeItemViewModel>()
|
||||
.ReverseMap();
|
||||
CreateMap<VariableItemViewModel, VariableItemViewModel>();
|
||||
CreateMap<VariableMqttAlias, VariableMqttAliasItemViewModel>().ReverseMap();
|
||||
CreateMap<MqttAlias, MqttAliasItem>().ReverseMap();
|
||||
|
||||
|
||||
CreateMap<MenuBeanDto, MenuItemViewModel>()
|
||||
|
||||
@@ -13,10 +13,10 @@ namespace DMS.WPF.ViewModels.Dialogs
|
||||
/// <summary>
|
||||
/// MQTT别名批量编辑对话框的视图模型
|
||||
/// </summary>
|
||||
public partial class MqttAliasBatchEditDialogViewModel : DialogViewModelBase<List<VariableMqttAliasItemViewModel>>
|
||||
public partial class MqttAliasBatchEditDialogViewModel : DialogViewModelBase<List<MqttAliasItem>>
|
||||
{
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<VariableMqttAliasItemViewModel> _variableMqttAliases = new();
|
||||
private ObservableCollection<MqttAliasItem> _variableMqttAliases = new();
|
||||
|
||||
[ObservableProperty]
|
||||
private MqttServerItemViewModel _selectedMqttServer;
|
||||
@@ -41,7 +41,7 @@ namespace DMS.WPF.ViewModels.Dialogs
|
||||
// 检查该变量是否已经有针对此MQTT服务器的别名
|
||||
var existingAlias = variable.MqttAliases?.FirstOrDefault(ma => ma.MqttServerId == SelectedMqttServer.Id);
|
||||
|
||||
var variableMqttAlias = new VariableMqttAliasItemViewModel
|
||||
var variableMqttAlias = new MqttAliasItem
|
||||
{
|
||||
VariableId = variable.Id,
|
||||
MqttServerId = SelectedMqttServer.Id,
|
||||
|
||||
@@ -3,7 +3,7 @@ using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.WPF.ViewModels.Items;
|
||||
|
||||
public partial class VariableMqttAliasItemViewModel : ObservableObject
|
||||
public partial class MqttAliasItem : ObservableObject
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
@@ -62,7 +62,7 @@ public partial class MqttServerItemViewModel : ObservableObject
|
||||
private string _messageFooter;
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<VariableMqttAliasItemViewModel> _variableAliases = new();
|
||||
private ObservableCollection<MqttAliasItem> _variableAliases = new();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ public partial class VariableItemViewModel : ObservableObject
|
||||
/// 一个变量可以有多个MQTT别名。
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private List<VariableMqttAliasItemViewModel>? _mqttAliases=new List<VariableMqttAliasItemViewModel>();
|
||||
private List<MqttAliasItem>? _mqttAliases=new List<MqttAliasItem>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置变量的信号类型 (如:AI, DI, AO, DO)。
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace DMS.WPF.ViewModels
|
||||
/// 与当前MQTT服务器关联的变量数据集合。
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<VariableMqttAlias> _associatedVariables;
|
||||
private ObservableCollection<MqttAlias> _associatedVariables;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -198,7 +198,7 @@ namespace DMS.WPF.ViewModels
|
||||
/// 修改变量的MQTT发送名称
|
||||
/// </summary>
|
||||
[RelayCommand]
|
||||
private async Task ModifyAlias(VariableMqttAlias variableAlias)
|
||||
private async Task ModifyAlias(MqttAlias variableAlias)
|
||||
{
|
||||
if (variableAlias == null)
|
||||
{
|
||||
|
||||
@@ -653,7 +653,7 @@ partial class VariableTableViewModel : ViewModelBase, INavigatable
|
||||
if (existingVariableMqtt == null)
|
||||
{
|
||||
// 如果不存在,则添加新的关联
|
||||
var variableMqtt = new VariableMqttAliasItemViewModel
|
||||
var variableMqtt = new MqttAliasItem
|
||||
{
|
||||
VariableId = originalVariable.Id,
|
||||
MqttServerId = selectedMqtt.Id,
|
||||
|
||||
Reference in New Issue
Block a user