初步重构WPF项目中的DataService和App项目中的DataCenterServicce

This commit is contained in:
2025-09-09 13:35:16 +08:00
parent 84720f1ac4
commit 94ef1dec84
44 changed files with 1618 additions and 307 deletions

View File

@@ -0,0 +1,14 @@
using DMS.Message;
namespace DMS.WPF.Interfaces;
/// <summary>
/// 数据事件服务接口。
/// </summary>
public interface IDataEventService
{
/// <summary>
/// 处理LoadMessage消息。
/// </summary>
Task Receive(LoadMessage message);
}

View File

@@ -0,0 +1,42 @@
using System.Collections.ObjectModel;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
public interface IDataStorageService
{
/// <summary>
/// 设备列表。
/// </summary>
ObservableCollection<DeviceItemViewModel> Devices { get; set; }
/// <summary>
/// 设备列表。
/// </summary>
ObservableCollection<VariableTableItemViewModel> VariableTables { get; set; }
/// <summary>
/// 变量数据列表。
/// </summary>
ObservableCollection<VariableItemViewModel> Variables { get; set; }
/// <summary>
/// MQTT服务器列表。
/// </summary>
ObservableCollection<MqttServerItemViewModel> MqttServers { get; set; }
/// <summary>
/// 菜单列表。
/// </summary>
ObservableCollection<MenuItemViewModel> Menus { get; set; }
/// <summary>
/// 菜单树列表。
/// </summary>
ObservableCollection<MenuItemViewModel> MenuTrees { get; set; }
/// <summary>
/// 日志列表。
/// </summary>
ObservableCollection<NlogItemViewModel> Nlogs { get; set; }
}

View File

@@ -0,0 +1,36 @@
using System.Collections.ObjectModel;
using DMS.Application.DTOs;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
/// <summary>
/// 设备数据服务接口。
/// </summary>
public interface IDeviceDataService
{
/// <summary>
/// 设备列表。
/// </summary>
// ObservableCollection<DeviceItemViewModel> Devices { get; set; }
/// <summary>
/// 加载所有设备数据。
/// </summary>
void LoadAllDevices();
/// <summary>
/// 添加设备。
/// </summary>
Task<CreateDeviceWithDetailsDto> AddDevice(CreateDeviceWithDetailsDto dto);
/// <summary>
/// 删除设备。
/// </summary>
Task<bool> DeleteDevice(DeviceItemViewModel device);
/// <summary>
/// 更新设备。
/// </summary>
Task<bool> UpdateDevice(DeviceItemViewModel device);
}

View File

@@ -0,0 +1,19 @@
using System.Collections.ObjectModel;
using DMS.Application.DTOs.Events;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
/// <summary>
/// 日志数据服务接口。
/// </summary>
public interface ILogDataService
{
/// <summary>
/// 处理日志变更事件。
/// </summary>
void OnNlogChanged(object sender, NlogChangedEventArgs e);
void LoadAllLog();
}

View File

@@ -0,0 +1,29 @@
using System.Collections.ObjectModel;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
/// <summary>
/// 菜单数据服务接口。
/// </summary>
public interface IMenuDataService
{
/// <summary>
/// 构建菜单树。
/// </summary>
void BuildMenuTrees();
/// <summary>
/// 添加菜单项。
/// </summary>
void AddMenuItem(MenuItemViewModel menuItemViewModel);
/// <summary>
/// 删除菜单项。
/// </summary>
void DeleteMenuItem(MenuItemViewModel? menuItemViewModel);
void LoadAllMenus();
}

View File

@@ -0,0 +1,33 @@
using System.Collections.ObjectModel;
using DMS.Application.DTOs;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
/// <summary>
/// MQTT数据服务接口。
/// </summary>
public interface IMqttDataService
{
/// <summary>
/// 加载所有MQTT服务器数据。
/// </summary>
Task LoadMqttServers();
/// <summary>
/// 添加MQTT服务器。
/// </summary>
Task<MqttServerItemViewModel> AddMqttServer(MqttServerItemViewModel mqttServer);
/// <summary>
/// 更新MQTT服务器。
/// </summary>
Task<bool> UpdateMqttServer(MqttServerItemViewModel mqttServer);
/// <summary>
/// 删除MQTT服务器。
/// </summary>
Task<bool> DeleteMqttServer(MqttServerItemViewModel mqttServer);
}

View File

@@ -0,0 +1,43 @@
using System.Collections.ObjectModel;
using DMS.Application.DTOs;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
/// <summary>
/// 变量数据服务接口。
/// </summary>
public interface IVariableDataService
{
/// <summary>
/// 加载所有变量
/// </summary>
void LoadAllVariables();
/// <summary>
/// 添加变量表。
/// </summary>
Task<bool> AddVariableTable(VariableTableDto variableTableDto,
MenuBeanDto menuDto = null, bool isAddDb = false);
/// <summary>
/// 更新变量表。
/// </summary>
Task<bool> UpdateVariableTable(VariableTableItemViewModel variableTable);
/// <summary>
/// 删除变量表。
/// </summary>
Task<bool> DeleteVariableTable(VariableTableItemViewModel variableTable, bool isDeleteDb = false);
/// <summary>
/// 添加变量。
/// </summary>
void AddVariable(VariableItemViewModel variableItem);
/// <summary>
/// 删除变量。
/// </summary>
void DeleteVariable(int id);
}

View File

@@ -0,0 +1,17 @@
using System.Collections.ObjectModel;
using DMS.Application.DTOs;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
public interface IVariableTableDataService
{
void LoadAllVariableTables();
Task<bool> AddVariableTable(VariableTableDto variableTableDto,
MenuBeanDto menuDto = null, bool isAddDb = false);
Task<bool> UpdateVariableTable(VariableTableItemViewModel variableTable);
Task<bool> DeleteVariableTable(VariableTableItemViewModel variableTable, bool isDeleteDb = false);
}

View File

@@ -0,0 +1,37 @@
namespace DMS.WPF.Interfaces;
/// <summary>
/// 主数据服务接口。
/// </summary>
public interface IWPFDataService
{
/// <summary>
/// 设备数据服务。
/// </summary>
IDeviceDataService DeviceDataService { get; }
/// <summary>
/// 变量数据服务。
/// </summary>
IVariableDataService VariableDataService { get; }
/// <summary>
/// 变量表数据服务。
/// </summary>
public IVariableTableDataService VariableTableDataService { get; }
/// <summary>
/// 菜单数据服务。
/// </summary>
IMenuDataService MenuDataService { get; }
/// <summary>
/// MQTT数据服务。
/// </summary>
IMqttDataService MqttDataService { get; }
/// <summary>
/// 日志数据服务。
/// </summary>
ILogDataService LogDataService { get; }
}