refactor:将所有的ItemViewMdoel的名字删除ViewModel,并将命名空间调整为DMS.WPF.ItemViewModel.

This commit is contained in:
2025-10-06 18:17:56 +08:00
parent 6cff70cd87
commit c85f89db33
72 changed files with 316 additions and 1023 deletions

View File

@@ -10,7 +10,7 @@ using DMS.Core.Events;
using DMS.Core.Models;
using DMS.Message;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
using Microsoft.Extensions.Logging;
namespace DMS.WPF.Services;

View File

@@ -1,6 +1,7 @@
using System.Collections.ObjectModel;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
using DMS.WPF.ItemViewModel;
using ObservableCollections;
namespace DMS.WPF.Services;
@@ -12,54 +13,54 @@ public class DataStorageService : IDataStorageService
/// <summary>
/// 设备列表。
/// </summary>
public ObservableDictionary<int,DeviceItemViewModel> Devices { get; set; }
public ObservableDictionary<int,DeviceItem> Devices { get; set; }
/// <summary>
/// 设备列表。
/// </summary>
public new ObservableDictionary<int,VariableTableItemViewModel> VariableTables { get; set; }
public new ObservableDictionary<int,VariableTableItem> VariableTables { get; set; }
/// <summary>
/// 变量数据列表。
/// </summary>
public ObservableDictionary<int,VariableItemViewModel> Variables { get; set; }
public ObservableDictionary<int,VariableItem> Variables { get; set; }
/// <summary>
/// MQTT服务器列表。
/// </summary>
public ObservableDictionary<int, MqttServerItemViewModel> MqttServers { get; set; }
public ObservableDictionary<int, MqttServerItem> MqttServers { get; set; }
/// <summary>
/// 菜单列表。
/// </summary>
public ObservableCollection<MenuItemViewModel> Menus { get; set; }
public ObservableCollection<MenuItem> Menus { get; set; }
/// <summary>
/// 菜单树列表。
/// </summary>
public ObservableCollection<MenuItemViewModel> MenuTrees { get; set; }
public ObservableCollection<MenuItem> MenuTrees { get; set; }
/// <summary>
/// 日志列表。
/// </summary>
public ObservableCollection<NlogItemViewModel> Nlogs { get; set; }
public ObservableCollection<NlogItem> Nlogs { get; set; }
/// <summary>
/// 触发器列表。
/// </summary>
public ObservableDictionary<int, TriggerItemViewModel> Triggers { get; set; }
public ObservableDictionary<int, TriggerItem> Triggers { get; set; }
public DataStorageService()
{
Devices=new ObservableDictionary<int,DeviceItemViewModel>();
VariableTables = new ObservableDictionary<int,VariableTableItemViewModel>();
Variables=new ObservableDictionary<int,VariableItemViewModel>();
MqttServers=new ObservableDictionary<int, MqttServerItemViewModel>();
Menus=new ObservableCollection<MenuItemViewModel>();
MenuTrees=new ObservableCollection<MenuItemViewModel>();
Nlogs=new ObservableCollection<NlogItemViewModel>();
Triggers = new ObservableDictionary<int, TriggerItemViewModel>();
Devices=new ObservableDictionary<int,DeviceItem>();
VariableTables = new ObservableDictionary<int,VariableTableItem>();
Variables=new ObservableDictionary<int,VariableItem>();
MqttServers=new ObservableDictionary<int, MqttServerItem>();
Menus=new ObservableCollection<MenuItem>();
MenuTrees=new ObservableCollection<MenuItem>();
Nlogs=new ObservableCollection<NlogItem>();
Triggers = new ObservableDictionary<int, TriggerItem>();
}

View File

@@ -8,7 +8,7 @@ using DMS.Application.Interfaces;
using DMS.Core.Enums;
using DMS.Core.Events;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
namespace DMS.WPF.Services;
@@ -60,7 +60,7 @@ public class DeviceDataService : IDeviceDataService
_uiDispatcher.Invoke(() =>
{
if (_dataStorageService.Devices.TryGetValue(e.DeviceId, out DeviceItemViewModel device))
if (_dataStorageService.Devices.TryGetValue(e.DeviceId, out DeviceItem device))
{
device.IsRunning = e.StateValue;
@@ -84,7 +84,7 @@ public class DeviceDataService : IDeviceDataService
{
foreach (var deviceDto in _appDataStorageService.Devices.Values)
{
_dataStorageService.Devices.Add(deviceDto.Id, _mapper.Map<DeviceItemViewModel>(deviceDto));
_dataStorageService.Devices.Add(deviceDto.Id, _mapper.Map<DeviceItem>(deviceDto));
}
}
@@ -106,12 +106,12 @@ public class DeviceDataService : IDeviceDataService
}
//给界面添加设备
_dataStorageService.Devices.Add(addDto.Device.Id, _mapper.Map<DeviceItemViewModel>(addDto.Device));
_dataStorageService.Devices.Add(addDto.Device.Id, _mapper.Map<DeviceItem>(addDto.Device));
// 给界面添加设备菜单
if (addDto.DeviceMenu != null)
{
_menuDataService.AddMenuItem(_mapper.Map<MenuItemViewModel>(addDto.DeviceMenu));
_menuDataService.AddMenuItem(_mapper.Map<MenuItem>(addDto.DeviceMenu));
}
@@ -124,7 +124,7 @@ public class DeviceDataService : IDeviceDataService
if (addDto.VariableTable != null && addDto.VariableTableMenu != null)
{
_menuDataService.AddMenuItem(_mapper.Map<MenuItemViewModel>(addDto.VariableTableMenu));
_menuDataService.AddMenuItem(_mapper.Map<MenuItem>(addDto.VariableTableMenu));
}
@@ -138,7 +138,7 @@ public class DeviceDataService : IDeviceDataService
/// <summary>
/// 删除设备。
/// </summary>
public async Task<bool> DeleteDevice(DeviceItemViewModel device)
public async Task<bool> DeleteDevice(DeviceItem device)
{
//从数据库和内存中删除设备相关数据
@@ -169,7 +169,7 @@ public class DeviceDataService : IDeviceDataService
/// <summary>
/// 更新设备。
/// </summary>
public async Task<bool> UpdateDevice(DeviceItemViewModel device)
public async Task<bool> UpdateDevice(DeviceItem device)
{
if (!_appDataStorageService.Devices.TryGetValue(device.Id, out var deviceDto))
{

View File

@@ -6,7 +6,7 @@ using DMS.Application.Events;
using DMS.Application.Interfaces;
using DMS.Core.Enums;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
namespace DMS.WPF.Services;
@@ -36,7 +36,7 @@ public class LogDataService : ILogDataService
public void LoadAllLog()
{
// 加载日志数据
_dataStorageService.Nlogs = _mapper.Map<ObservableCollection<NlogItemViewModel>>(_appDataStorageService.Nlogs.Values);
_dataStorageService.Nlogs = _mapper.Map<ObservableCollection<NlogItem>>(_appDataStorageService.Nlogs.Values);
}
/// <summary>
@@ -50,7 +50,7 @@ public class LogDataService : ILogDataService
switch (e.ChangeType)
{
case DataChangeType.Added:
_dataStorageService.Nlogs.Add(_mapper.Map<NlogItemViewModel>(e.Nlog));
_dataStorageService.Nlogs.Add(_mapper.Map<NlogItem>(e.Nlog));
break;
case DataChangeType.Updated:
var existingLog = _dataStorageService.Nlogs.FirstOrDefault(l => l.Id == e.Nlog.Id);

View File

@@ -4,7 +4,7 @@ using DMS.Application.Interfaces;
using DMS.Application.Interfaces.Management;
using DMS.Application.Services.Management;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
@@ -37,7 +37,7 @@ public class MenuDataService : IMenuDataService
public void LoadAllMenus()
{
_dataStorageService.Menus = _mapper.Map<ObservableCollection<MenuItemViewModel>>(_appDataStorageService.Menus.Values);
_dataStorageService.Menus = _mapper.Map<ObservableCollection<MenuItem>>(_appDataStorageService.Menus.Values);
BuildMenuTrees();
}
@@ -71,20 +71,20 @@ public class MenuDataService : IMenuDataService
/// <summary>
/// 添加菜单项。
/// </summary>
public async Task AddMenuItem(MenuItemViewModel menuItemViewModel)
public async Task AddMenuItem(MenuItem MenuItem)
{
if (menuItemViewModel is null) return;
if (MenuItem is null) return;
var deviceMenu = _dataStorageService.Menus.FirstOrDefault(m => m.Id == menuItemViewModel.ParentId);
var deviceMenu = _dataStorageService.Menus.FirstOrDefault(m => m.Id == MenuItem.ParentId);
if (deviceMenu is not null)
{
var menuId= await _menuManagementService.CreateMenuAsync(_mapper.Map<MenuBeanDto>(menuItemViewModel));
var menuId= await _menuManagementService.CreateMenuAsync(_mapper.Map<MenuBeanDto>(MenuItem));
if (menuId>0)
{
menuItemViewModel.Id = menuId;
deviceMenu.Children.Add(menuItemViewModel);
_dataStorageService.Menus.Add(menuItemViewModel);
MenuItem.Id = menuId;
deviceMenu.Children.Add(MenuItem);
_dataStorageService.Menus.Add(MenuItem);
BuildMenuTrees();
}
@@ -95,26 +95,26 @@ public class MenuDataService : IMenuDataService
/// <summary>
/// 删除菜单项。
/// </summary>
public async Task DeleteMenuItem(MenuItemViewModel? menuItemViewModel)
public async Task DeleteMenuItem(MenuItem? MenuItem)
{
if (menuItemViewModel is null) return;
if (MenuItem is null) return;
await _menuManagementService.DeleteMenuAsync(menuItemViewModel.Id);
await _menuManagementService.DeleteMenuAsync(MenuItem.Id);
// 从扁平菜单列表中移除
_dataStorageService.Menus.Remove(menuItemViewModel);
_dataStorageService.Menus.Remove(MenuItem);
//// 从树形结构中移除
if (menuItemViewModel.ParentId.HasValue && menuItemViewModel.ParentId.Value != 0)
if (MenuItem.ParentId.HasValue && MenuItem.ParentId.Value != 0)
{
// 如果有父菜单从父菜单的Children中移除
var parentMenu = _dataStorageService.Menus.FirstOrDefault(m => m.Id == menuItemViewModel.ParentId.Value);
parentMenu?.Children.Remove(menuItemViewModel);
var parentMenu = _dataStorageService.Menus.FirstOrDefault(m => m.Id == MenuItem.ParentId.Value);
parentMenu?.Children.Remove(MenuItem);
}
else
{
// 如果是根菜单从MenuTrees中移除
_dataStorageService.MenuTrees.Remove(menuItemViewModel);
_dataStorageService.MenuTrees.Remove(MenuItem);
}
//BuildMenuTrees();

View File

@@ -5,7 +5,7 @@ using DMS.Application.Interfaces.Management;
using DMS.Core.Enums;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
namespace DMS.WPF.Services;
@@ -47,7 +47,7 @@ public class MqttDataService : IMqttDataService
// 加载MQTT服务器数据
foreach (var mqttServerDto in _appDataStorageService.MqttServers.Values)
{
_dataStorageService.MqttServers.TryAdd(mqttServerDto.Id, _mapper.Map<MqttServerItemViewModel>(mqttServerDto));
_dataStorageService.MqttServers.TryAdd(mqttServerDto.Id, _mapper.Map<MqttServerItem>(mqttServerDto));
}
}
@@ -62,12 +62,12 @@ public class MqttDataService : IMqttDataService
/// <summary>
/// 添加MQTT服务器。
/// </summary>
public async Task<MqttServerItemViewModel> AddMqttServer(MqttServerItemViewModel mqttServer)
public async Task<MqttServerItem> AddMqttServer(MqttServerItem mqttServer)
{
var addMqttServerDto = await _mqttManagementService.CreateMqttServerAsync(_mapper.Map<MqttServerDto>(mqttServer));
MqttServerItemViewModel mqttServerItem = _mapper.Map<MqttServerItemViewModel>(addMqttServerDto);
MqttServerItem mqttServerItem = _mapper.Map<MqttServerItem>(addMqttServerDto);
_dataStorageService.MqttServers.Add(mqttServerItem.Id, mqttServerItem);
@@ -85,7 +85,7 @@ public class MqttDataService : IMqttDataService
MenuType = MenuType.MqttServerMenu,
TargetViewKey = nameof(MqttServerDetailViewModel),
};
await _menuDataService.AddMenuItem(_mapper.Map<MenuItemViewModel>(mqttServerMenu));
await _menuDataService.AddMenuItem(_mapper.Map<MenuItem>(mqttServerMenu));
}
return mqttServerItem;
@@ -94,7 +94,7 @@ public class MqttDataService : IMqttDataService
/// <summary>
/// 更新MQTT服务器。
/// </summary>
public async Task<bool> UpdateMqttServer(MqttServerItemViewModel mqttServer)
public async Task<bool> UpdateMqttServer(MqttServerItem mqttServer)
{
var dto = _mapper.Map<MqttServerDto>(mqttServer);
var result = await _mqttManagementService.UpdateMqttServerAsync(dto);
@@ -120,7 +120,7 @@ public class MqttDataService : IMqttDataService
/// <summary>
/// 删除MQTT服务器。
/// </summary>
public async Task<bool> DeleteMqttServer(MqttServerItemViewModel mqttServer)
public async Task<bool> DeleteMqttServer(MqttServerItem mqttServer)
{
// 从数据库和内存中删除MQTT服务器
var result = await _mqttManagementService.DeleteMqttServerAsync(mqttServer.Id);

View File

@@ -1,7 +1,7 @@
using DMS.Core.Models;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
using DMS.WPF.Views;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;

View File

@@ -4,7 +4,7 @@ using DMS.Application.DTOs;
using DMS.Application.Interfaces;
using DMS.Core.Events;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
using Opc.Ua;
namespace DMS.WPF.Services;
@@ -51,14 +51,14 @@ public class TriggerDataService : ITriggerDataService
{
foreach (var triggerDto in _appDataStorageService.Triggers.Values)
{
_dataStorageService.Triggers.Add(triggerDto.Id, _mapper.Map<TriggerItemViewModel>(triggerDto));
_dataStorageService.Triggers.Add(triggerDto.Id, _mapper.Map<TriggerItem>(triggerDto));
}
}
/// <summary>
/// 添加触发器。
/// </summary>
public async Task<TriggerItemViewModel> AddTrigger(TriggerItemViewModel dto)
public async Task<TriggerItem> AddTrigger(TriggerItem dto)
{
// 添加null检查
if (dto == null)
@@ -75,7 +75,7 @@ public class TriggerDataService : ITriggerDataService
}
// 给界面添加触发器
var addItem = _mapper.Map<TriggerItemViewModel>(addDto);
var addItem = _mapper.Map<TriggerItem>(addDto);
_dataStorageService.Triggers.Add(addDto.Id, addItem);
return addItem;
@@ -84,7 +84,7 @@ public class TriggerDataService : ITriggerDataService
/// <summary>
/// 删除触发器。
/// </summary>
public async Task<bool> DeleteTrigger(TriggerItemViewModel trigger)
public async Task<bool> DeleteTrigger(TriggerItem trigger)
{
// 从数据库删除触发器数据
if (!await _appDataCenterService.TriggerManagementService.DeleteTriggerAsync(trigger.Id))
@@ -101,7 +101,7 @@ public class TriggerDataService : ITriggerDataService
/// <summary>
/// 更新触发器。
/// </summary>
public async Task<bool> UpdateTrigger(TriggerItemViewModel trigger)
public async Task<bool> UpdateTrigger(TriggerItem trigger)
{
if (!_appDataStorageService.Triggers.TryGetValue(trigger.Id, out var triggerDto))
{

View File

@@ -4,7 +4,7 @@ using DMS.Application.DTOs;
using DMS.Application.Interfaces;
using DMS.Core.Models;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
using System.Collections.ObjectModel;
using DMS.Application.Services.Management;
@@ -64,7 +64,7 @@ public class VariableDataService : IVariableDataService
if (_dataStorageService.Devices.TryGetValue(tableDto.DeviceId, out var device))
{
var variableTableItem = _mapper.Map<VariableTableItemViewModel>(tableDto);
var variableTableItem = _mapper.Map<VariableTableItem>(tableDto);
device.VariableTables.Add(variableTableItem);
_dataStorageService.VariableTables.TryAdd(variableTableItem.Id,variableTableItem);
}
@@ -76,7 +76,7 @@ public class VariableDataService : IVariableDataService
/// <summary>
/// 更新变量表。
/// </summary>
public async Task<bool> UpdateVariableTable(VariableTableItemViewModel variableTable)
public async Task<bool> UpdateVariableTable(VariableTableItem variableTable)
{
if (variableTable == null)
{
@@ -96,7 +96,7 @@ public class VariableDataService : IVariableDataService
/// <summary>
/// 删除变量表。
/// </summary>
public async Task<bool> DeleteVariableTable(VariableTableItemViewModel variableTable, bool isDeleteDb = false)
public async Task<bool> DeleteVariableTable(VariableTableItem variableTable, bool isDeleteDb = false)
{
if (variableTable == null)
{
@@ -126,7 +126,7 @@ public class VariableDataService : IVariableDataService
/// <summary>
/// 添加变量。
/// </summary>
public void AddVariable(VariableItemViewModel variableItem)
public void AddVariable(VariableItem variableItem)
{
if (variableItem == null)
{

View File

@@ -4,7 +4,7 @@ using DMS.Application.DTOs;
using DMS.Application.Interfaces;
using DMS.Core.Enums;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
namespace DMS.WPF.Services;
@@ -52,7 +52,7 @@ public class VariableTableDataService : IVariableTableDataService
createDto.Menu = menuDto;
var resDto = await _appDataCenterService.VariableTableManagementService.CreateVariableTableAsync(createDto);
_menuDataService.AddMenuItem(_mapper.Map<MenuItemViewModel>(resDto.Menu));
_menuDataService.AddMenuItem(_mapper.Map<MenuItem>(resDto.Menu));
return resDto.VariableTable.Id;
}
@@ -62,7 +62,7 @@ public class VariableTableDataService : IVariableTableDataService
}
public async Task<bool> UpdateVariableTable(VariableTableItemViewModel variableTable)
public async Task<bool> UpdateVariableTable(VariableTableItem variableTable)
{
if (variableTable == null)
{
@@ -88,7 +88,7 @@ public class VariableTableDataService : IVariableTableDataService
return false;
}
public async Task<bool> DeleteVariableTable(VariableTableItemViewModel variableTable, bool isDeleteDb = false)
public async Task<bool> DeleteVariableTable(VariableTableItem variableTable, bool isDeleteDb = false)
{
if (variableTable == null)
{

View File

@@ -2,7 +2,7 @@ using System.Collections.ObjectModel;
using AutoMapper;
using DMS.Application.Interfaces;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.ItemViewModel;
namespace DMS.WPF.Services;