diff --git a/Services/DeviceDialogService.cs b/Services/DeviceDialogService.cs index 82d5282..e22eac1 100644 --- a/Services/DeviceDialogService.cs +++ b/Services/DeviceDialogService.cs @@ -1,4 +1,5 @@ -using PMSWPF.Models; +using iNKORE.UI.WPF.Modern.Controls; +using PMSWPF.Models; using PMSWPF.ViewModels.Dialogs; using PMSWPF.Views.Dialogs; @@ -6,15 +7,24 @@ namespace PMSWPF.Services; public class DeviceDialogService : IDeviceDialogService { - public async Task ShowAddDeviceDialog(Device device) + public async Task ShowAddDeviceDialog() { + Device device = new Device(); DeviceDialogViewModel ddvm = new DeviceDialogViewModel(device) { Title = "添加设备" }; DeviceDialog dialog = new DeviceDialog(ddvm); - await dialog.ShowAsync(); - return device; + var res=await dialog.ShowAsync(); + if (res == ContentDialogResult.Primary) + { + return device; + } + else + { + return null; + } + } } \ No newline at end of file diff --git a/Services/IDeviceDialogService.cs b/Services/IDeviceDialogService.cs index 61a66b8..ad5a1a0 100644 --- a/Services/IDeviceDialogService.cs +++ b/Services/IDeviceDialogService.cs @@ -4,5 +4,5 @@ namespace PMSWPF.Services; public interface IDeviceDialogService { - Task ShowAddDeviceDialog(Device device); + Task ShowAddDeviceDialog(); } \ No newline at end of file diff --git a/ViewModels/DevicesViewModel.cs b/ViewModels/DevicesViewModel.cs index 78f6c23..1276ec8 100644 --- a/ViewModels/DevicesViewModel.cs +++ b/ViewModels/DevicesViewModel.cs @@ -29,11 +29,15 @@ public partial class DevicesViewModel : ViewModelBase { try { - Device device = new Device(); - await _deviceDialogService.ShowAddDeviceDialog(device); - DbDevice dbDevice = new DbDevice(); - device.CopyTo(dbDevice); - await _devicesRepositories.Add(dbDevice); + + Device device= await _deviceDialogService.ShowAddDeviceDialog(); + if (device != null) + { + DbDevice dbDevice = new DbDevice(); + device.CopyTo(dbDevice); + await _devicesRepositories.Add(dbDevice); + } + } catch (DbExistException e) {