Files
DMS/DMS.Application/Services/AppDataCenterService.cs

114 lines
3.8 KiB
C#
Raw Normal View History

2025-09-02 20:28:29 +08:00
using AutoMapper;
using DMS.Application.DTOs;
2025-09-05 07:03:47 +08:00
using DMS.Core.Models;
2025-09-02 20:28:29 +08:00
using DMS.Application.Interfaces;
using DMS.Core.Interfaces;
using DMS.Core.Models;
using DMS.Core.Enums;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Threading.Tasks;
using System;
using System.Linq;
2025-09-16 14:42:23 +08:00
using DMS.Application.Events;
2025-09-16 12:29:09 +08:00
using DMS.Application.Interfaces.Management;
2025-09-23 06:51:29 +08:00
using DMS.Application.Services.Management;
2025-09-15 20:54:32 +08:00
using DMS.Core.Events;
2025-09-02 20:28:29 +08:00
namespace DMS.Application.Services;
/// <summary>
2025-09-07 20:35:40 +08:00
/// 数据中心服务,负责管理所有的数据,包括设备、变量表、变量、菜单和日志。
/// 实现 <see cref="IAppDataCenterService"/> 接口。
2025-09-02 20:28:29 +08:00
/// </summary>
public class AppDataCenterService : IAppDataCenterService
2025-09-02 20:28:29 +08:00
{
private readonly IMapper _mapper;
private readonly IRepositoryManager _repositoryManager;
2025-09-07 20:35:40 +08:00
2025-09-02 21:06:39 +08:00
#region
2025-09-02 21:06:39 +08:00
/// <summary>
/// 当设备数据发生变化时触发
/// </summary>
public event EventHandler<DeviceChangedEventArgs> DeviceChanged;
/// <summary>
/// 当变量表数据发生变化时触发
/// </summary>
public event EventHandler<VariableTableChangedEventArgs> VariableTableChanged;
/// <summary>
/// 当变量数据发生变化时触发
/// </summary>
public event EventHandler<VariableChangedEventArgs> VariableChanged;
/// <summary>
/// 当菜单数据发生变化时触发
2025-09-02 20:28:29 +08:00
/// </summary>
public event EventHandler<MenuChangedEventArgs> MenuChanged;
2025-09-02 20:28:29 +08:00
/// <summary>
/// 当MQTT服务器数据发生变化时触发
2025-09-02 20:28:29 +08:00
/// </summary>
public event EventHandler<MqttServerChangedEventArgs> MqttServerChanged;
2025-09-07 20:35:40 +08:00
/// <summary>
/// 当日志数据发生变化时触发
/// </summary>
public event EventHandler<NlogChangedEventArgs> NlogChanged;
2025-09-02 20:28:29 +08:00
2025-09-05 07:03:47 +08:00
/// <summary>
/// 当变量值发生变化时触发
/// </summary>
public event EventHandler<VariableValueChangedEventArgs> VariableValueChanged;
#endregion
2025-09-02 20:28:29 +08:00
public AppDataCenterService(
2025-09-02 20:28:29 +08:00
IRepositoryManager repositoryManager,
IMapper mapper,
IDataLoaderService dataLoaderService,
IDeviceManagementService deviceManagementService,
IVariableTableManagementService variableTableManagementService,
IVariableManagementService variableManagementService,
IMenuManagementService menuManagementService,
IMqttManagementService mqttManagementService,
2025-09-23 06:51:29 +08:00
ILogManagementService logManagementService,
ITriggerManagementService triggerManagementService // 添加触发器管理服务
)
2025-09-02 20:28:29 +08:00
{
_repositoryManager = repositoryManager;
_mapper = mapper;
DataLoaderService = dataLoaderService;
2025-09-07 21:16:56 +08:00
// 初始化管理服务
DeviceManagementService = deviceManagementService;
VariableTableManagementService = variableTableManagementService;
VariableManagementService = variableManagementService;
MenuManagementService = menuManagementService;
MqttManagementService = mqttManagementService;
LogManagementService = logManagementService;
2025-09-23 06:51:29 +08:00
TriggerManagementService = triggerManagementService; // 初始化触发器管理服务
}
public ILogManagementService LogManagementService { get; set; }
public IMqttManagementService MqttManagementService { get; set; }
public IMenuManagementService MenuManagementService { get; set; }
public IVariableManagementService VariableManagementService { get; set; }
public IVariableTableManagementService VariableTableManagementService { get; set; }
public IDeviceManagementService DeviceManagementService { get; set; }
2025-09-23 06:51:29 +08:00
public ITriggerManagementService TriggerManagementService { get; set; } // 添加触发器管理服务
public IDataLoaderService DataLoaderService { get; set; }
2025-09-02 20:28:29 +08:00
}