Files
DMS/DMS.Application/Services/Database/MqttAliasAppService.cs

63 lines
1.8 KiB
C#
Raw Permalink Normal View History

using AutoMapper;
using DMS.Application.Interfaces;
2025-09-16 12:29:09 +08:00
using DMS.Application.Interfaces.Database;
2025-09-06 16:12:30 +08:00
using DMS.Core.Interfaces;
using DMS.Core.Models;
2025-09-16 12:29:09 +08:00
namespace DMS.Application.Services.Database;
/// <summary>
2025-09-06 16:12:30 +08:00
/// IMqttAliasAppService 的实现负责管理变量与MQTT服务器的别名关联。
/// </summary>
public class MqttAliasAppService : IMqttAliasAppService
{
private readonly IRepositoryManager _repoManager;
private readonly IAppDataService _appDataService;
private readonly IMapper _mapper;
2025-07-24 20:02:08 +08:00
/// <summary>
2025-09-06 16:12:30 +08:00
/// 构造函数。
2025-07-24 20:02:08 +08:00
/// </summary>
public MqttAliasAppService(IRepositoryManager repoManager,IAppDataService appStorageService, IMapper mapper)
{
_repoManager = repoManager;
_appDataService = appStorageService;
_mapper = mapper;
}
2025-07-24 20:02:08 +08:00
/// <summary>
2025-09-06 16:12:30 +08:00
/// 异步为变量分配或更新一个MQTT别名。
2025-07-24 20:02:08 +08:00
/// </summary>
public async Task<MqttAlias> AssignAliasAsync(MqttAlias mqttAlias)
{
return await _repoManager.MqttAliases.AddAsync(mqttAlias);
}
2025-07-24 20:02:08 +08:00
/// <summary>
2025-09-06 16:12:30 +08:00
/// 异步更新一个已存在的MQTT别名。
2025-07-24 20:02:08 +08:00
/// </summary>
public async Task<int> UpdateAliasAsync(MqttAlias mqttAlias)
{
return await _repoManager.MqttAliases.UpdateAsync(mqttAlias);
}
2025-07-24 20:02:08 +08:00
/// <summary>
2025-09-06 16:12:30 +08:00
/// 异步移除一个MQTT别名关联。
2025-07-24 20:02:08 +08:00
/// </summary>
public async Task<int> RemoveAliasAsync(int aliasId)
{
2025-10-21 13:01:27 +08:00
var alias = await _repoManager.MqttAliases.GetByIdAsync(aliasId);
if (alias == null)
{
return 0;
}
return await _repoManager.MqttAliases.DeleteAsync(alias);
}
public async Task<List<MqttAlias>> GetAllAsync()
{
var mqttAliases = await _repoManager.MqttAliases.GetAllAsync();
return mqttAliases;
}
}