| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | namespace DeviceManagement.ViewModels.Dialog;internal partial class EditDeviceViewModel(DeviceCollection deviceCollection, IUICaller uICaller) : ObservableObject, IDialogAware{    public DialogCloseListener RequestClose { get; set; }    [ObservableProperty]    private DeviceInfo_VM? _TempDevice;    [ObservableProperty]    private string? _Title;    public bool CanCloseDialog()    {        return true;    }    public void OnDialogClosed()    {    }    public void OnDialogOpened(IDialogParameters parameters)    {        this.Title = "设备编辑";        if (!parameters.TryGetValue<DeviceInfo_VM>("Device", out DeviceInfo_VM? device) || device is null)        {            this.RequestClose.Invoke();            return;        }        this.TempDevice = new();        device.Adapt(this.TempDevice);    }    [RelayCommand]    private void SaveDevice()    {        if (this.TempDevice is null || this.TempDevice.Guid is null)        {            MessageBox.Show("Error");            return;        }        if (!deviceCollection.DeviceList.TryGetValue(this.TempDevice.Guid.Value, out DeviceInfo_VM? device) || device is null)        {            MessageBox.Show("Error");            return;        }        if (!uICaller.UpdateDeviceInfo(this.TempDevice.Adapt<DeviceInfo>()).Result)        {            MessageBox.Show("Device Offline");            return;        }        this.TempDevice.Adapt(device);        MessageBox.Show("设备信息修改成功!", "设备信息", MessageBoxButton.OK, MessageBoxImage.Information);        this.RequestClose.Invoke();    }    [RelayCommand]    private void Close()    {        this.RequestClose.Invoke();    }}
 |