Files
DMS/DMS.WPF/ViewModels/Items/DeviceItemViewModel.cs

74 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 文件: DMS.WPF/ViewModels/Items/DeviceItemViewModel.cs
using CommunityToolkit.Mvvm.ComponentModel;
using DMS.Application.DTOs;
using DMS.Core.Enums;
namespace DMS.WPF.ViewModels.Items;
/// <summary>
/// 代表设备列表中的单个设备项的ViewModel。
/// 实现了INotifyPropertyChanged其任何属性变化都会自动通知UI。
/// </summary>
public partial class DeviceItemViewModel : ObservableObject
{
public int Id { get; }
[ObservableProperty]
private string _name;
[ObservableProperty]
private ProtocolType _protocol;
[ObservableProperty]
private string _ipAddress;
[ObservableProperty]
private int _port;
[ObservableProperty]
private int _rack;
[ObservableProperty]
private int _slot;
[ObservableProperty]
private string _opcUaServerUrl;
[ObservableProperty]
private bool _isActive;
[ObservableProperty]
private string _status;
public DeviceItemViewModel(DeviceDto dto)
{
Id = dto.Id;
_name = dto.Name;
_protocol = dto.Protocol;
_ipAddress = dto.IpAddress;
_port = dto.Port;
_rack = dto.Rack;
_slot = dto.Slot;
_opcUaServerUrl = dto.OpcUaServerUrl;
_isActive = dto.IsActive;
_status = dto.Status;
}
public DeviceDto ToDto()
{
return new DeviceDto
{
Id = this.Id,
Name = this.Name,
Protocol = this.Protocol,
IpAddress = this.IpAddress,
Port = this.Port,
Rack = this.Rack,
Slot = this.Slot,
OpcUaServerUrl = this.OpcUaServerUrl,
IsActive = this.IsActive,
Status = this.Status
};
}
}