refactor:将AppDataCenterService改为AppCenterService,将AppDataStorageService改为AppStorageService,将触发器的增删改成合并
This commit is contained in:
53
DMS.Application/Interfaces/Database/ITriggerAppService.cs
Normal file
53
DMS.Application/Interfaces/Database/ITriggerAppService.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using DMS.Core.Models.Triggers;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database
|
||||
{
|
||||
/// <summary>
|
||||
/// 触发器应用服务接口,负责处理触发器相关的业务逻辑。
|
||||
/// </summary>
|
||||
public interface ITriggerAppService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取触发器定义。
|
||||
/// </summary>
|
||||
/// <param name="id">触发器ID。</param>
|
||||
/// <returns>触发器定义实体。</returns>
|
||||
Task<TriggerDefinition> GetTriggerByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有触发器定义。
|
||||
/// </summary>
|
||||
/// <returns>触发器定义实体列表。</returns>
|
||||
Task<List<TriggerDefinition>> GetAllTriggersAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步创建一个新触发器定义及其关联的变量ID。
|
||||
/// </summary>
|
||||
/// <param name="trigger">要创建的触发器定义。</param>
|
||||
/// <returns>新创建的触发器定义。</returns>
|
||||
Task<TriggerDefinition> CreateTriggerAsync(TriggerDefinition trigger);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的触发器定义及其关联的变量ID。
|
||||
/// </summary>
|
||||
/// <param name="trigger">要更新的触发器定义。</param>
|
||||
/// <returns>受影响的行数。</returns>
|
||||
Task<int> UpdateTriggerAsync(TriggerDefinition trigger);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个触发器定义及其关联的变量关系。
|
||||
/// </summary>
|
||||
/// <param name="id">要删除的触发器ID。</param>
|
||||
/// <returns>如果删除成功则为 true,否则为 false。</returns>
|
||||
Task<bool> DeleteTriggerByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取指定变量ID关联的所有触发器定义。
|
||||
/// </summary>
|
||||
/// <param name="variableId">变量ID。</param>
|
||||
/// <returns>与指定变量关联的触发器定义实体列表。</returns>
|
||||
Task<IEnumerable<TriggerDefinition>> GetTriggersByVariableIdAsync(int variableId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using DMS.Core.Models.Triggers;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Application.Interfaces.Database;
|
||||
|
||||
/// <summary>
|
||||
/// 定义了触发器与变量关联管理相关的应用服务操作。
|
||||
/// </summary>
|
||||
public interface ITriggerVariableAppService
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 异步为触发器分配或更新一个变量关联。
|
||||
/// </summary>
|
||||
/// <param name="triggerVariable"></param>
|
||||
Task<TriggerVariable> AssignTriggerVariableAsync(TriggerVariable triggerVariable);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的触发器与变量关联。
|
||||
/// </summary>
|
||||
/// <param name="triggerVariable">要更新的触发器与变量关联对象。</param>
|
||||
Task<int> UpdateTriggerVariableAsync(TriggerVariable triggerVariable);
|
||||
|
||||
/// <summary>
|
||||
/// 异步移除一个触发器与变量关联。
|
||||
/// </summary>
|
||||
/// <param name="triggerVariableId">要移除的关联的ID。</param>
|
||||
Task<int> RemoveTriggerVariableAsync(int triggerVariableId);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有触发器与变量关联。
|
||||
/// </summary>
|
||||
Task<List<TriggerVariable>> GetAllAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 批量添加触发器与变量的关联关系
|
||||
/// </summary>
|
||||
/// <param name="triggerVariables">触发器与变量的关联列表</param>
|
||||
/// <returns>异步操作任务</returns>
|
||||
Task<List<TriggerVariable>> AddTriggerVariablesAsync(List<TriggerVariable> triggerVariables);
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ namespace DMS.Application.Interfaces;
|
||||
/// <summary>
|
||||
/// 定义数据管理相关的应用服务操作,负责管理所有的数据,包括设备、变量表和变量。
|
||||
/// </summary>
|
||||
public interface IAppDataCenterService
|
||||
public interface IAppCenterService
|
||||
{
|
||||
ILogManagementService LogManagementService { get; set; }
|
||||
IMqttManagementService MqttManagementService { get; set; }
|
||||
@@ -1,10 +1,11 @@
|
||||
using System.Collections.Concurrent;
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Core.Models;
|
||||
using DMS.Core.Models.Triggers;
|
||||
|
||||
namespace DMS.Application.Interfaces;
|
||||
|
||||
public interface IAppDataStorageService
|
||||
public interface IAppStorageService
|
||||
{
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有设备数据
|
||||
@@ -48,5 +49,10 @@ public interface IAppDataStorageService
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有触发器定义数据
|
||||
/// </summary>
|
||||
ConcurrentDictionary<int, TriggerDefinitionDto> Triggers { get; }
|
||||
ConcurrentDictionary<int, TriggerDefinition> Triggers { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 安全字典,用于存储所有触发器与变量关联数据
|
||||
/// </summary>
|
||||
ConcurrentDictionary<int, TriggerVariable> TriggerVariables { get; }
|
||||
}
|
||||
@@ -148,4 +148,20 @@ public interface IEventService
|
||||
void RaiseMenuChanged(object sender, MenuChangedEventArgs e);
|
||||
|
||||
#endregion
|
||||
|
||||
#region 触发器变量事件
|
||||
|
||||
/// <summary>
|
||||
/// 触发器与变量关联改变事件
|
||||
/// </summary>
|
||||
event EventHandler<TriggerVariableChangedEventArgs> OnTriggerVariableChanged;
|
||||
|
||||
/// <summary>
|
||||
/// 触发触发器与变量关联改变事件
|
||||
/// </summary>
|
||||
/// <param name="sender">事件发送者</param>
|
||||
/// <param name="e">触发器与变量关联改变事件参数</param>
|
||||
void RaiseTriggerVariableChanged(object sender, TriggerVariableChangedEventArgs e);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Core.Models.Triggers;
|
||||
|
||||
namespace DMS.Application.Interfaces.Management
|
||||
{
|
||||
@@ -11,21 +12,21 @@ namespace DMS.Application.Interfaces.Management
|
||||
/// 获取所有触发器定义
|
||||
/// </summary>
|
||||
/// <returns>触发器定义列表</returns>
|
||||
Task<List<TriggerDefinitionDto>> GetAllTriggersAsync();
|
||||
List<TriggerDefinition> GetAllTriggersAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 根据 ID 获取触发器定义
|
||||
/// </summary>
|
||||
/// <param name="id">触发器 ID</param>
|
||||
/// <returns>触发器定义 DTO,如果未找到则返回 null</returns>
|
||||
Task<TriggerDefinitionDto?> GetTriggerByIdAsync(int id);
|
||||
Task<TriggerDefinition> GetTriggerByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 创建一个新的触发器定义
|
||||
/// </summary>
|
||||
/// <param name="triggerDto">要创建的触发器定义 DTO</param>
|
||||
/// <returns>创建成功的触发器定义 DTO</returns>
|
||||
Task<TriggerDefinitionDto> CreateTriggerAsync(TriggerDefinitionDto triggerDto);
|
||||
Task<TriggerDefinition> CreateTriggerAsync(TriggerDefinition triggerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 更新一个已存在的触发器定义
|
||||
@@ -33,7 +34,7 @@ namespace DMS.Application.Interfaces.Management
|
||||
/// <param name="id">要更新的触发器 ID</param>
|
||||
/// <param name="triggerDto">包含更新信息的触发器定义 DTO</param>
|
||||
/// <returns>更新后的触发器定义 DTO,如果未找到则返回 null</returns>
|
||||
Task<TriggerDefinitionDto?> UpdateTriggerAsync(int id, TriggerDefinitionDto triggerDto);
|
||||
Task<TriggerDefinition?> UpdateTriggerAsync(int id, TriggerDefinition triggerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 删除一个触发器定义
|
||||
@@ -47,6 +48,6 @@ namespace DMS.Application.Interfaces.Management
|
||||
/// </summary>
|
||||
/// <param name="variableId">变量 ID</param>
|
||||
/// <returns>该变量关联的触发器定义列表</returns>
|
||||
Task<List<TriggerDefinitionDto>> GetTriggersForVariableAsync(int variableId);
|
||||
Task<List<TriggerDefinition>> GetTriggersForVariableAsync(int variableId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using DMS.Core.Models.Triggers;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DMS.Application.Interfaces.Management;
|
||||
|
||||
public interface ITriggerVariableManagementService
|
||||
{
|
||||
Task<TriggerVariable> AssignTriggerVariableAsync(TriggerVariable triggerVariable);
|
||||
Task<int> UpdateAsync(TriggerVariable triggerVariable);
|
||||
Task<bool> DeleteAsync(int id);
|
||||
Task<List<TriggerVariable>> LoadAllTriggerVariablesAsync();
|
||||
|
||||
// /// <summary>
|
||||
// /// 根据触发器ID获取关联的变量ID列表
|
||||
// /// </summary>
|
||||
// /// <param name="triggerId">触发器ID</param>
|
||||
// /// <returns>变量ID列表</returns>
|
||||
// Task<List<int>> GetVariableIdsByTriggerIdAsync(int triggerId);
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 根据变量ID获取关联的触发器ID列表
|
||||
// /// </summary>
|
||||
// /// <param name="variableId">变量ID</param>
|
||||
// /// <returns>触发器ID列表</returns>
|
||||
// Task<List<int>> GetTriggerIdsByVariableIdAsync(int variableId);
|
||||
|
||||
/// <summary>
|
||||
/// 批量添加触发器与变量的关联关系
|
||||
/// </summary>
|
||||
/// <param name="triggerVariables">触发器与变量的关联列表</param>
|
||||
/// <returns>异步操作任务</returns>
|
||||
Task<List<TriggerVariable>> AddTriggerVariablesAsync(List<TriggerVariable> triggerVariables);
|
||||
|
||||
/// <summary>
|
||||
/// 根据触发器ID删除关联关系
|
||||
/// </summary>
|
||||
/// <param name="triggerId">触发器ID</param>
|
||||
/// <returns>异步操作任务</returns>
|
||||
Task<bool> DeleteByTriggerIdAsync(int triggerId);
|
||||
}
|
||||
Reference in New Issue
Block a user