using SWRIS.Enums; using System; using System.Collections.ObjectModel; using System.ComponentModel; namespace SWRIS.Dtos { public class RecordDto : INotifyPropertyChanged { private int? id; private int ropeNumber; private string ropeName; private DateTime startTime; private DateTime endTime; private double startPoint; private double endPoint; private double detectionLength; private double detectedSpeed; private short damageCount; private string dataFilePath; private int sensorCount; private double samplingStep; private RiskLevel riskLevel = RiskLevel.Normal; private int exportCount; private string inUseSensors; private bool isSelected = false; private ObservableCollection damages = new ObservableCollection(); public int? Id { get => id; set { if (id != value) { id = value; OnPropertyChanged(nameof(Id)); } } } /// /// 钢丝绳名称 /// public int RopeNumber { get => ropeNumber; set { if (ropeNumber != value) { ropeNumber = value; OnPropertyChanged(nameof(RopeNumber)); } } } public string RopeName { get => ropeName; set { if (ropeName != value) { ropeName = value; OnPropertyChanged(nameof(RopeName)); } } } /// /// 开始时间 时间戳 /// public DateTime StartTime { get => startTime; set { if (startTime != value) { startTime = value; OnPropertyChanged(nameof(StartTime)); } } } /// /// 结束时间 时间戳 /// public DateTime EndTime { get => endTime; set { if (endTime != value) { endTime = value; OnPropertyChanged(nameof(EndTime)); } } } /// /// 开始位置 m /// public double StartPoint { get => startPoint; set { if (startPoint != value) { startPoint = value; OnPropertyChanged(nameof(StartPoint)); } } } /// /// 结束位置 m /// public double EndPoint { get => endPoint; set { if (endPoint != value) { endPoint = value; OnPropertyChanged(nameof(EndPoint)); } } } /// /// 检测长度 m /// public double DetectionLength { get => detectionLength; set { if (detectionLength != value) { detectionLength = value; OnPropertyChanged(nameof(DetectionLength)); } } } /// /// 检测速度 m/s /// public double DetectedSpeed { get => detectedSpeed; set { if (detectedSpeed != value) { detectedSpeed = value; OnPropertyChanged(nameof(DetectedSpeed)); } } } /// /// 损伤数量 /// public short DamageCount { get => damageCount; set { if (damageCount != value) { damageCount = value; OnPropertyChanged(nameof(DamageCount)); } } } /// /// 数据文件路径 /// public string DataFilePath { get => dataFilePath; set { if (dataFilePath != value) { dataFilePath = value; OnPropertyChanged(nameof(DataFilePath)); } } } /// /// 传感器数量 /// public int SensorCount { get => sensorCount; set { if (sensorCount != value) { sensorCount = value; OnPropertyChanged(nameof(SensorCount)); } } } /// /// 采样步长 mm/点 /// public double SamplingStep { get => samplingStep; set { if (samplingStep != value) { samplingStep = value; OnPropertyChanged(nameof(SamplingStep)); } } } /// /// 钢丝绳状态 /// public RiskLevel RiskLevel { get => riskLevel; set { if (riskLevel != value) { riskLevel = value; OnPropertyChanged(nameof(RiskLevel)); } } } /// /// 导出次数 /// public int ExportCount { get => exportCount; set { if (exportCount != value) { exportCount = value; OnPropertyChanged(nameof(ExportCount)); } } } /// /// 在用传感器 1,2,3,4 /// public string InUseSensors { get => inUseSensors; set { if (inUseSensors != value) { inUseSensors = value; OnPropertyChanged(nameof(InUseSensors)); } } } /// /// 是否选中 /// public bool IsSelected { get => isSelected; set { if (isSelected != value) { isSelected = value; OnPropertyChanged(nameof(IsSelected)); } } } public ObservableCollection Damages { get => damages; set { if (damages != value) { damages = value; OnPropertyChanged(nameof(Damages)); } } } public event PropertyChangedEventHandler PropertyChanged; protected internal virtual void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }