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)
{
return await _repositoryManager.TriggerVariables.DeleteByIdAsync(triggerVariableId);
}
public async Task> GetAllAsync()
{
var triggerVariables = await _repositoryManager.TriggerVariables.GetAllAsync();
return triggerVariables;
}
///
/// 批量添加触发器与变量的关联关系
///
public async Task> AddTriggerVariablesAsync(List triggerVariables)
{
return await _repositoryManager.TriggerVariables.AddBatchAsync(triggerVariables);
}
}