using DMS.Application.DTOs;
using DMS.Application.Events;
namespace DMS.Application.Interfaces.Management;
public interface IVariableTableManagementService
{
///
/// 当变量表数据发生变化时触发
///
event EventHandler OnVariableTableChanged;
///
/// 异步根据ID获取变量表DTO。
///
Task GetVariableTableByIdAsync(int id);
///
/// 异步获取所有变量表DTO列表。
///
Task> GetAllVariableTablesAsync();
///
/// 异步创建一个新变量表及其关联菜单(事务性操作)。
///
Task CreateVariableTableAsync(CreateVariableTableWithMenuDto dto);
///
/// 异步更新一个已存在的变量表。
///
Task UpdateVariableTableAsync(VariableTableDto variableTableDto);
///
/// 异步删除一个变量表。
///
Task DeleteVariableTableAsync(int id);
///
/// 在内存中添加变量表
///
void AddVariableTableToMemory(VariableTableDto variableTableDto);
///
/// 在内存中更新变量表
///
void UpdateVariableTableInMemory(VariableTableDto variableTableDto);
///
/// 在内存中删除变量表
///
void RemoveVariableTableFromMemory(int variableTableId);
}