This commit is contained in:
2025-10-20 22:47:22 +08:00
parent 7ad1b7d5e1
commit b980f989d8
17 changed files with 131 additions and 82 deletions

View File

@@ -45,6 +45,9 @@ public class DeviceManagementService : IDeviceManagementService
/// </summary>
public async Task<CreateDeviceWithDetailsDto> CreateDeviceWithDetailsAsync(CreateDeviceWithDetailsDto dto)
{
var result = await _deviceAppService.CreateDeviceWithDetailsAsync(dto);
// 创建成功后,将设备添加到内存中
@@ -54,10 +57,25 @@ public class DeviceManagementService : IDeviceManagementService
{
_eventService.RaiseDeviceChanged(this, new DeviceChangedEventArgs(DataChangeType.Added, result.Device));
}
if (_appStorageService.VariableTables.TryAdd(result.VariableTable.Id, result.VariableTable))
if (result.VariableTable is not null)
{
_eventService.RaiseVariableTableChanged(this, new VariableTableChangedEventArgs(DataChangeType.Added, result.VariableTable));
if (_appStorageService.VariableTables.TryAdd(result.VariableTable.Id, result.VariableTable))
{
_eventService.RaiseVariableTableChanged(this, new VariableTableChangedEventArgs(DataChangeType.Added, result.VariableTable));
}
}
if (result.DeviceMenu is not null)
{
_appStorageService.Menus.TryAdd(result.DeviceMenu.Id, result.DeviceMenu);
}
if (result.VariableTableMenu is not null)
{
_appStorageService.Menus.TryAdd(result.VariableTableMenu.Id, result.VariableTableMenu);
}
}
return result;
@@ -83,13 +101,12 @@ public class DeviceManagementService : IDeviceManagementService
/// <summary>
/// 异步删除一个设备。
/// </summary>
public async Task<bool> DeleteDeviceByIdAsync(int deviceId)
public async Task<bool> DeleteAsync(Device device)
{
var device = await _deviceAppService.GetDeviceByIdAsync(deviceId); // 获取设备信息用于内存删除
var result = await _deviceAppService.DeleteDeviceByIdAsync(deviceId);
var result = await _deviceAppService.DeleteDeviceByIdAsync(device);
// 删除成功后,从内存中移除设备
if (result && device != null)
if (result )
{
if (_appStorageService.Devices.TryGetValue(deviceId, out var deviceInStorage))
{