refactor:完成重构设备的添加,删除,更新。

This commit is contained in:
2025-10-22 14:06:16 +08:00
parent e995ec7207
commit 54d040b45f
76 changed files with 1028 additions and 1161 deletions

View File

@@ -21,10 +21,10 @@ namespace DMS.WPF.ViewModels;
/// </summary>
public partial class DevicesViewModel : ViewModelBase, INavigatable
{
private readonly IWPFDataService _wpfDataService;
private readonly IViewCenterService _wpfDataService;
private readonly IDeviceAppService _deviceAppService;
private readonly IMapper _mapper;
private readonly IWpfDataService _dataStorageService;
private readonly IViewDataService _viewDataService;
private readonly IDialogService _dialogService;
private readonly INavigationService _navigationService;
@@ -54,19 +54,19 @@ public partial class DevicesViewModel : ViewModelBase, INavigatable
/// <param name="wpfDataService">主数据服务。</param>
/// <param name="deviceAppService">设备应用服务。</param>
/// <param name="notificationService">通知服务。</param>
public DevicesViewModel(IMapper mapper, IWpfDataService dataStorageService,
public DevicesViewModel(IMapper mapper, IViewDataService dataStorageService,
IDialogService dialogService, INavigationService navigationService,
IWPFDataService wpfDataService, IDeviceAppService deviceAppService,
IViewCenterService wpfDataService, IDeviceAppService deviceAppService,
INotificationService notificationService)
{
_mapper = mapper;
_dataStorageService = dataStorageService;
_viewDataService = dataStorageService;
_dialogService = dialogService;
_navigationService = navigationService;
_wpfDataService = wpfDataService;
_deviceAppService = deviceAppService;
_notificationService = notificationService;
Devices = _dataStorageService.Devices.ToNotifyCollectionChanged(x => x.Value);
Devices = _viewDataService.Devices.ToNotifyCollectionChanged(x => x.Value);
}
@@ -183,7 +183,7 @@ public partial class DevicesViewModel : ViewModelBase, INavigatable
if (await _dialogService.ShowDialogAsync(viewModel))
{
var deviceName = SelectedDevice.Name;
if (await _wpfDataService.DeviceDataService.DeleteDevice(SelectedDevice))
if (await _wpfDataService.DeviceDataService.DeleteAsync(SelectedDevice))
{
_notificationService.ShowSuccess($"删除设备成功,设备名:{deviceName}");
}
@@ -199,14 +199,10 @@ public partial class DevicesViewModel : ViewModelBase, INavigatable
/// 编辑设备命令。
/// </summary>
[RelayCommand]
private async Task EditDevice(DeviceItem parmDeviceItem)
private async Task EditDevice()
{
try
{
if (parmDeviceItem != null)
{
SelectedDevice = parmDeviceItem;
}
if (SelectedDevice == null)
{
@@ -279,11 +275,11 @@ public partial class DevicesViewModel : ViewModelBase, INavigatable
if (addVarTableId > 0)
{
VariableTableItem.Id = addVarTableId;
if (_dataStorageService.Devices.TryGetValue(VariableTableItem.DeviceId, out var deviceModel))
if (_viewDataService.Devices.TryGetValue(VariableTableItem.DeviceId, out var deviceModel))
{
VariableTableItem.Device = deviceModel;
deviceModel.VariableTables.Add(VariableTableItem);
_dataStorageService.VariableTables.Add(VariableTableItem.Id, VariableTableItem);
_viewDataService.VariableTables.Add(VariableTableItem.Id, VariableTableItem);
}
_notificationService.ShowSuccess($"添加变量表成功:{VariableTableItem.Name}");
}
@@ -364,11 +360,11 @@ public partial class DevicesViewModel : ViewModelBase, INavigatable
// Remove from parent device's collection
if (variableTable.Device != null)
{
if (_dataStorageService.Devices.TryGetValue(variableTable.DeviceId ,out var device))
if (_viewDataService.Devices.TryGetValue(variableTable.DeviceId ,out var device))
{
device.VariableTables.Remove(variableTable);
}
_dataStorageService.VariableTables.Remove(variableTable.Id);
_viewDataService.VariableTables.Remove(variableTable.Id);
variableTable.Device.VariableTables.Remove(variableTable);
}