using System.Collections.ObjectModel;
using AutoMapper;
using DMS.Application.Interfaces;
using DMS.WPF.Interfaces;
using DMS.WPF.ItemViewModel;
namespace DMS.WPF.Services;
///
/// 主数据服务,用于管理所有子数据服务。
///
public class WPFDataService : IWPFDataService
{
private readonly IMapper _mapper;
private readonly IAppCenterService _appCenterService;
///
/// 设备数据服务。
///
public IDeviceDataService DeviceDataService { get; }
///
/// 变量表数据服务。
///
public IVariableTableDataService VariableTableDataService { get; }
///
/// 变量数据服务。
///
public IVariableDataService VariableDataService { get; }
///
/// 菜单数据服务。
///
public IMenuViewService MenuDataService { get; }
///
/// MQTT数据服务。
///
public IMqttDataService MqttDataService { get; }
///
/// MQTT别名数据服务。
///
public IMqttAliasDataService MqttAliasDataService { get; }
///
/// 日志数据服务。
///
public ILogDataService LogDataService { get; }
///
/// 触发器数据服务。
///
public ITriggerDataService TriggerDataService { get; }
///
/// WPFDataService 构造函数。
///
public WPFDataService(
IMapper mapper,
IAppCenterService appCenterService,
IDeviceDataService deviceDataService,
IVariableDataService variableDataService,
IMenuViewService menuDataService,
IMqttDataService mqttDataService,
ILogDataService logDataService,
IVariableTableDataService variableTableDataService,
ITriggerDataService triggerDataService,
IMqttAliasDataService mqttAliasDataService)
{
_mapper = mapper;
_appCenterService = appCenterService;
DeviceDataService = deviceDataService;
VariableDataService = variableDataService;
MenuDataService = menuDataService;
MqttDataService = mqttDataService;
LogDataService = logDataService;
VariableTableDataService = variableTableDataService;
TriggerDataService = triggerDataService;
MqttAliasDataService = mqttAliasDataService;
}
}