2025-07-26 10:05:43 +08:00
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
|
using DMS.Application.DTOs;
|
|
|
|
|
using System;
|
2025-07-27 21:08:58 +08:00
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
using System.Linq;
|
2025-07-26 10:05:43 +08:00
|
|
|
|
|
|
|
|
namespace DMS.WPF.ViewModels.Items;
|
|
|
|
|
|
|
|
|
|
public partial class MqttServerItemViewModel : ObservableObject
|
|
|
|
|
{
|
|
|
|
|
public int Id { get; }
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _serverName;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _brokerAddress;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private int _port;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _username;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _password;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private bool _isActive;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _subscribeTopic;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _publishTopic;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _clientId;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private DateTime _createdAt;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private DateTime? _connectedAt;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private long _connectionDuration;
|
|
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
|
private string _messageFormat;
|
|
|
|
|
|
2025-07-27 21:08:58 +08:00
|
|
|
[ObservableProperty]
|
|
|
|
|
private ObservableCollection<VariableMqttAliasItemViewModel> _variableAliases = new();
|
|
|
|
|
|
2025-07-26 10:05:43 +08:00
|
|
|
public MqttServerItemViewModel(MqttServerDto dto)
|
|
|
|
|
{
|
|
|
|
|
Id = dto.Id;
|
|
|
|
|
_serverName = dto.ServerName;
|
|
|
|
|
_brokerAddress = dto.BrokerAddress;
|
|
|
|
|
_port = dto.Port;
|
|
|
|
|
_username = dto.Username;
|
|
|
|
|
_password = dto.Password;
|
|
|
|
|
_isActive = dto.IsActive;
|
|
|
|
|
_subscribeTopic = dto.SubscribeTopic;
|
|
|
|
|
_publishTopic = dto.PublishTopic;
|
|
|
|
|
_clientId = dto.ClientId;
|
|
|
|
|
_createdAt = dto.CreatedAt;
|
|
|
|
|
_connectedAt = dto.ConnectedAt;
|
|
|
|
|
_connectionDuration = dto.ConnectionDuration;
|
|
|
|
|
_messageFormat = dto.MessageFormat;
|
2025-07-27 21:08:58 +08:00
|
|
|
_variableAliases = new ObservableCollection<VariableMqttAliasItemViewModel>(dto.VariableAliases.Select(va => new VariableMqttAliasItemViewModel(va)));
|
2025-07-26 10:05:43 +08:00
|
|
|
}
|
|
|
|
|
}
|