using System.Collections.ObjectModel; using CommunityToolkit.Mvvm.ComponentModel; using DMS.Application.DTOs; using DMS.Core.Models.Triggers; namespace DMS.WPF.ItemViewModel { /// /// 触发器项视图模型 /// public partial class TriggerItem : ObservableObject { /// /// 触发器唯一标识符 /// [ObservableProperty] private int _id; /// /// 触发器描述 /// [ObservableProperty] private string _description = string.Empty; /// /// 触发器是否处于激活状态 /// [ObservableProperty] private bool _isActive; /// /// 触发条件类型 /// [ObservableProperty] private ConditionType _condition; /// /// 阈值 (用于 GreaterThan, LessThan, EqualTo, NotEqualTo) /// [ObservableProperty] private double? _threshold; /// /// 下限 (用于 InRange, OutOfRange) /// [ObservableProperty] private double? _lowerBound; /// /// 上限 (用于 InRange, OutOfRange) /// [ObservableProperty] private double? _upperBound; /// /// 动作类型 /// [ObservableProperty] private ActionType _action; /// /// 动作配置 JSON 字符串 /// [ObservableProperty] private string _actionConfigurationJson = string.Empty; /// /// 抑制持续时间 /// [ObservableProperty] private TimeSpan? _suppressionDuration; /// /// 上次触发的时间 /// [ObservableProperty] private DateTime? _lastTriggeredAt; /// /// 创建时间 /// [ObservableProperty] private DateTime _createdAt; /// /// 最后更新时间 /// [ObservableProperty] private DateTime _updatedAt; /// /// 关联的变量 ID 列表 /// public ObservableCollection VariableIds { get; } = new ObservableCollection(); } }