Files
DMS/DMS.Application/Interfaces/Database/IDeviceAppService.cs

53 lines
1.5 KiB
C#
Raw Normal View History

using DMS.Application.DTOs;
using DMS.Core.Enums;
2025-07-21 18:49:49 +08:00
using DMS.Core.Models;
2025-09-16 12:29:09 +08:00
namespace DMS.Application.Interfaces.Database;
/// <summary>
/// 定义设备管理相关的应用服务操作。
/// </summary>
public interface IDeviceAppService
{
/// <summary>
/// 异步根据ID获取设备DTO。
/// </summary>
Task<DeviceDto> GetDeviceByIdAsync(int id);
/// <summary>
/// 异步获取所有设备DTO列表。
/// </summary>
Task<List<DeviceDto>> GetAllDevicesAsync();
/// <summary>
/// 异步创建一个新设备及其关联的变量表和菜单(事务性操作)。
/// </summary>
/// <param name="dto">包含设备、变量表和菜单信息的DTO。</param>
/// <returns>新创建设备的ID。</returns>
Task<CreateDeviceWithDetailsDto> CreateDeviceWithDetailsAsync(CreateDeviceWithDetailsDto dto);
/// <summary>
/// 异步更新一个已存在的设备。
/// </summary>
2025-07-29 20:02:09 +08:00
Task<int> UpdateDeviceAsync(DeviceDto deviceDto);
/// <summary>
/// 异步删除一个设备。
/// </summary>
2025-07-21 18:49:49 +08:00
Task DeleteDeviceAsync(Device device);
2025-07-24 18:09:46 +08:00
/// <summary>
/// 异步删除一个设备。
/// </summary>
Task<bool> DeleteDeviceByIdAsync(int deviceId);
/// <summary>
/// 异步切换设备的激活状态。
/// </summary>
Task ToggleDeviceActiveStateAsync(int id);
/// <summary>
/// 异步获取指定协议类型的设备列表。
/// </summary>
Task<List<DeviceDto>> GetDevicesByProtocolAsync(ProtocolType protocol);
}