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

74 lines
2.2 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.Core.Models;
namespace DMS.Application.Interfaces.Database;
/// <summary>
/// 定义变量管理相关的应用服务操作。
/// </summary>
public interface IVariableAppService
{
/// <summary>
/// 异步根据ID获取变量DTO。
/// </summary>
Task<Variable> GetVariableByIdAsync(int id);
/// <summary>
/// 异步根据OPC UA NodeId获取变量DTO。
/// </summary>
Task<Variable?> GetVariableByOpcUaNodeIdAsync(string opcUaNodeId);
/// <summary>
/// 异步根据OPC UA NodeId列表获取变量DTO列表。
/// </summary>
Task<List<Variable>> GetVariableByOpcUaNodeIdsAsync(List<string> opcUaNodeIds);
/// <summary>
/// 异步获取所有变量DTO列表。
/// </summary>
Task<List<Variable>> GetAllVariablesAsync();
/// <summary>
/// 异步创建一个新变量。
/// </summary>
Task<Variable> CreateVariableAsync(Variable variable);
/// <summary>
/// 异步更新一个已存在的变量。
/// </summary>
Task<int> UpdateVariableAsync(Variable variable);
/// <summary>
/// 异步更新一个已存在的变量。
/// </summary>
Task<int> UpdateVariablesAsync(List<Variable> variables);
/// <summary>
/// 异步删除一个变量。
/// </summary>
Task<bool> DeleteVariableAsync(int id);
/// <summary>
/// 异步批量删除变量。
/// </summary>
Task<bool> DeleteVariablesAsync(List<int> ids);
/// <summary>
/// 异步批量导入变量。
/// </summary>
Task<List<Variable>> BatchImportVariablesAsync(List<Variable> variables);
/// <summary>
/// 检测一组变量是否已存在。
/// </summary>
/// <param name="variablesToCheck">要检查的变量列表。</param>
/// <returns>返回输入列表中已存在的变量。</returns>
Task<List<Variable>> FindExistingVariablesAsync(IEnumerable<Variable> variablesToCheck);
/// <summary>
/// 检测单个变量是否已存在。
/// </summary>
/// <param name="variableToCheck">要检查的变量。</param>
/// <returns>如果变量已存在则返回该变量否则返回null。</returns>
Task<Variable?> FindExistingVariableAsync(Variable variableToCheck);
}