Files
DMS/DMS.Application/Interfaces/Management/IDeviceManagementService.cs
David P.G 62ce7093cf 1. 从 IDeviceManagementService 接口中移除了 OnDeviceChanged 事件
2. 在 DeviceManagementService 中添加了对 IEventService 的依赖
   3. 在 DeviceManagementService 的三个内存操作方法中,将直接事件触发改为通过 _eventService.RaiseDeviceChanged 方法触发
   4. EventService 本身已经实现了 OnDeviceChanged 事件和对应的 RaiseDeviceChanged 方法
2025-10-01 18:15:51 +08:00

59 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DMS.Application.DTOs;
using DMS.Application.Events;
namespace DMS.Application.Interfaces.Management;
public interface IDeviceManagementService
{
/// <summary>
/// 异步根据ID获取设备DTO。
/// </summary>
Task<DeviceDto> GetDeviceByIdAsync(int id);
/// <summary>
/// 异步获取所有设备DTO列表。
/// </summary>
Task<List<DeviceDto>> GetAllDevicesAsync();
/// <summary>
/// 异步创建一个新设备及其关联的变量表和菜单(事务性操作)。
/// </summary>
Task<CreateDeviceWithDetailsDto> CreateDeviceWithDetailsAsync(CreateDeviceWithDetailsDto dto);
/// <summary>
/// 异步更新一个已存在的设备。
/// </summary>
Task<int> UpdateDeviceAsync(DeviceDto deviceDto);
/// <summary>
/// 异步删除一个设备。
/// </summary>
Task<bool> DeleteDeviceByIdAsync(int deviceId);
/// <summary>
/// 异步切换设备的激活状态。
/// </summary>
Task ToggleDeviceActiveStateAsync(int id);
/// <summary>
/// 在内存中添加设备
/// 注意此方法通常由其他操作如CreateDeviceWithDetailsAsync自动调用一般不需要直接调用
/// </summary>
void AddDeviceToMemory(DeviceDto deviceDto);
/// <summary>
/// 在内存中更新设备
/// 注意此方法通常由其他操作如UpdateDeviceAsync自动调用一般不需要直接调用
/// </summary>
void UpdateDeviceInMemory(DeviceDto deviceDto);
/// <summary>
/// 在内存中删除设备
/// 注意此方法通常由其他操作如DeleteDeviceByIdAsync自动调用一般不需要直接调用
/// </summary>
void RemoveDeviceFromMemory(int deviceId);
}