refactor:完成重构设备的添加,删除,更新。
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user