using AutoMapper; using DMS.Application.Interfaces; using DMS.Application.Interfaces.Database; using DMS.Core.Interfaces; using DMS.Core.Models.Triggers; using System.Collections.Generic; using System.Threading.Tasks; namespace DMS.Application.Services.Database; /// /// ITriggerVariableAppService 的实现,负责管理触发器与变量的关联关系。 /// public class TriggerVariableAppService : ITriggerVariableAppService { private readonly IRepositoryManager _repositoryManager; /// /// 构造函数。 /// public TriggerVariableAppService(IRepositoryManager repositoryManager) { _repositoryManager = repositoryManager; } /// /// 异步为触发器分配或更新一个变量关联。 /// public async Task AssignTriggerVariableAsync(TriggerVariable triggerVariable) { return await _repositoryManager.TriggerVariables.AddAsync(triggerVariable); } /// /// 异步更新一个已存在的触发器与变量关联。 /// public async Task UpdateTriggerVariableAsync(TriggerVariable triggerVariable) { return await _repositoryManager.TriggerVariables.UpdateAsync(triggerVariable); } /// /// 异步移除一个触发器与变量关联。 /// public async Task RemoveTriggerVariableAsync(int triggerVariableId) { var triggerVariable = await _repositoryManager.TriggerVariables.GetByIdAsync(triggerVariableId); if (triggerVariable == null) { return 0; } return await _repositoryManager.TriggerVariables.DeleteAsync(triggerVariable); } public async Task> GetAllAsync() { var triggerVariables = await _repositoryManager.TriggerVariables.GetAllAsync(); return triggerVariables; } /// /// 批量添加触发器与变量的关联关系 /// public async Task> AddTriggerVariablesAsync(List triggerVariables) { return await _repositoryManager.TriggerVariables.AddAsync(triggerVariables); } }