123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532 |
- using MeterVision.db;
- using MeterVision.Util;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MeterVision.model
- {
- public class StandDetailItem : INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler PropertyChanged;
- public static Dictionary<int, double> LastUnitMapping = new Dictionary<int, double>
- {
- {0,0.0001 },
- {1,0.001 },
- {2,0.01 },
- {3,0.1 },
- {4,1 },
- {5,10 },
- {6,100 },
- {7,1000 },
- {8,10000 }
- };
- // 触发属性变更通知
- protected virtual void OnPropertyChanged(string propertyName)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
- private int _index;
- public int Index
- {
- get => _index;
- set
- {
- if (_index != value)
- {
- _index = value;
- OnPropertyChanged(nameof(Index));
- }
- }
- }
- public string StandId { get; set; }
- public string StandDetailId { get; set; }
- public string SrcImage { get; set; }
- private string _standValue;
- public string StandValue
- {
- get => _standValue;
- set
- {
- if (_standValue != value)
- {
- _standValue = value;
- OnPropertyChanged(nameof(StandValue));
- }
- }
- }
- private string _stationId;
- public string StationId
- {
- get => _stationId;
- set
- {
- if (_stationId != value)
- {
- _stationId = value;
- OnPropertyChanged(nameof(StationId));
- //OnPropertyChanged(nameof(StationIdColor));
- }
- }
- }
- public string StationIdColor
- {
- get
- {
- if (MeterType > 0)
- {
- return "#FF6347";
- }
- return "black";
- }
- }
- private string _deviceSn;
- public string DeviceSn
- {
- get => _deviceSn;
- set
- {
- if (_deviceSn != value)
- {
- _deviceSn = value;
- OnPropertyChanged(nameof(DeviceSn));
- }
- }
- }
- private string _sampleTime;
- public string SampleTime
- {
- get => _sampleTime;
- set
- {
- if (_sampleTime != value)
- {
- _sampleTime = value;
- OnPropertyChanged(nameof(SampleTime));
- OnPropertyChanged(nameof(SampleTime1));
- OnPropertyChanged(nameof(SampleTime2));
- }
- }
- }
- public string SampleTime1 => ThisApp.ConvertDateFormat_Date2(SampleTime);
- public string SampleTime2 => ThisApp.ConvertDateFormat_Time2(SampleTime);
- //Excel中的数据
- private int _eNumCount;
- public int ENumCount
- {
- get => _eNumCount;
- set
- {
- if (_eNumCount != value)
- {
- _eNumCount = value;
- OnPropertyChanged(nameof(ENumCount));
- }
- }
- }
- private int _eLastUnit;
- public int ELastUnit
- {
- get => _eLastUnit;
- set
- {
- if (_eLastUnit != value)
- {
- _eLastUnit = value;
- OnPropertyChanged(nameof(ELastUnit));
- //OnPropertyChanged(nameof(ELastUnitName));
- }
- }
- }
- //public string ELastUnitName
- //{
- // get
- // {
- // if(LastUnitMapping.TryGetValue(ELastUnit,out double lastUnit))
- // {
- // return lastUnit + "";
- // }
- // return "";
- // }
- //}
- private int _meterType;
- public int MeterType
- {
- get => _meterType;
- set
- {
- if (_meterType != value)
- {
- _meterType = value;
- OnPropertyChanged(nameof(MeterType));
- OnPropertyChanged(nameof(MeterTypeName));
- OnPropertyChanged(nameof(LastUnitName));
- OnPropertyChanged(nameof(FeatureRegionName));
- OnPropertyChanged(nameof(CountName));
- OnPropertyChanged(nameof(BrightValName));
- OnPropertyChanged(nameof(LastValueName));
- OnPropertyChanged(nameof(DialRegionName));
- OnPropertyChanged(nameof(FlowRateName));
- OnPropertyChanged(nameof(NumInUpper));
- OnPropertyChanged(nameof(StationIdColor));
- }
- }
- }
- public string MeterTypeName => Get_MeterTypeName();
- private double _brightVal;
- public double BrightVal
- {
- get => _brightVal;
- set
- {
- if (_brightVal != value)
- {
- _brightVal = value;
- OnPropertyChanged(nameof(BrightVal));
- OnPropertyChanged(nameof(BrightValName));
- }
- }
- }
- public string BrightValName
- {
- get
- {
- if(MeterType > 0)
- {
- return $"亮度: {BrightVal}";
- }
- return "";
- }
- }
- private int _flowRate;
- public int FlowRate
- {
- get => _flowRate;
- set
- {
- if (_flowRate != value)
- {
- _flowRate = value;
- OnPropertyChanged(nameof(FlowRate));
- OnPropertyChanged(nameof(FlowRateName));
- }
- }
- }
- public string FlowRateName
- {
- get
- {
- if(MeterType > 0)
- {
- return $"小时流量: {FlowRate}";
- }
- return "";
- }
- }
- private string _dialRegion;
- public string DialRegion
- {
- get => _dialRegion;
- set
- {
- if (_dialRegion != value)
- {
- _dialRegion = value;
- OnPropertyChanged(nameof(DialRegion));
- OnPropertyChanged(nameof(DialRegionName));
- }
- }
- }
- public string DialRegionName
- {
- get
- {
- if (!string.IsNullOrEmpty(DialRegion))
- {
- return $"表盘: {DialRegion}";
- }
- return "";
- }
- }
- private int _numCount;
- public int NumCount
- {
- get => _numCount;
- set
- {
- if (_numCount != value)
- {
- _numCount = value;
- OnPropertyChanged(nameof(NumCount));
- OnPropertyChanged(nameof(CountName));
- }
- }
- }
- private int _indCount;
- public int IndCount
- {
- get => _indCount;
- set
- {
- if (_indCount != value)
- {
- _indCount = value;
- OnPropertyChanged(nameof(IndCount));
- OnPropertyChanged(nameof(CountName));
- }
- }
- }
- public string CountName
- {
- get
- {
- if (MeterType == 1)
- {
- return "数字: " + NumCount + " ;指针: " + IndCount;
- }
- else if (MeterType == 2)
- {
- return "指针: " + IndCount;
- }
- else if (MeterType == 3)
- {
- return "数字: " + NumCount;
- }
- else
- {
- return "";
- }
- }
- }
- private string _featureRegion;
- public string FeatureRegion
- {
- get => _featureRegion;
- set
- {
- if (_featureRegion != value)
- {
- _featureRegion = value;
- OnPropertyChanged(nameof(FeatureRegion));
- OnPropertyChanged(nameof(FeatureRegionName));
- }
- }
- }
- public string FeatureRegionName
- {
- get
- {
- if (!string.IsNullOrEmpty(FeatureRegion))
- {
- if (MeterType == 1 || MeterType == 3)
- {
- return "数字区域: \n" + FeatureRegion;
- }
- else if (MeterType == 2)
- {
- return "首位指针: \n" + FeatureRegion;
- }
- else
- {
- return "";
- }
- }
- else
- {
- return "";
- }
- }
- }
- private double _lastUnit;
- public double LastUnit
- {
- get => _lastUnit;
- set
- {
- if (_lastUnit != value)
- {
- _lastUnit = value;
- OnPropertyChanged(nameof(LastUnit));
- OnPropertyChanged(nameof(LastUnitName));
- }
- }
- }
- public int _numInUpper;
- public int NumInUpper
- {
- get => _numInUpper;
- set
- {
- if (_numInUpper != value)
- {
- _numInUpper = value;
- OnPropertyChanged(nameof(NumInUpper));
- OnPropertyChanged(nameof(NumInUpperName));
- }
- }
- }
- public string NumInUpperName
- {
- get
- {
- if (MeterType == 1 || MeterType == 3)
- {
- return $"数字在上: {(NumInUpper == 1 ? "是" : "否")}";
- }
- else
- {
- return "";
- }
- }
- }
- public string LastUnitName
- {
- get
- {
- if (MeterType > 0)
- {
- return $"尾数: {LastUnit}m³";
- }
- else
- {
- return "";
- }
- }
- }
- private double _lastValue;
- public double LastValue
- {
- get => _lastValue;
- set
- {
- if (_lastValue != value)
- {
- _lastValue = value;
- OnPropertyChanged(nameof(LastValue));
- OnPropertyChanged(nameof(LastValueName));
- }
- }
- }
- public string LastValueName
- {
- get
- {
- if (MeterType > 0)
- {
- if (string.IsNullOrEmpty(LastTime))
- {
- return "";
- }
- else
- {
- return "初值: " + LastValue;
- }
- }
- return "";
- }
- }
- private string _lastTime;
- public string LastTime
- {
- //get => ThisApp.ConvertDateFormat(_lastTime);
- get => _lastTime;
- set
- {
- if (_lastTime != value)
- {
- _lastTime = value;
- OnPropertyChanged(nameof(LastTime));
- OnPropertyChanged(nameof(LastTimeName));
- OnPropertyChanged(nameof(LastValueName));
- }
- }
- }
- public string LastTimeName => ThisApp.ConvertDateFormat(LastTime);
- public StandDetailItem()
- {
- }
- public StandDetailItem(TStandDetail standDetail)
- {
- //StandId = standDetail.StandId;
- //StandDetailId = standDetail.StandDetailId;
- //SrcImage = standDetail.SrcImage;
- //StandValue = standDetail.StandValue;
- //StationId = standDetail.StationId;
- //SampleTime = standDetail.SampleTime;
- //NumCount = standDetail.NumCount;
- //LastUnit = standDetail.LastUnit;
- ObjectHelper.CopyMatchingFields(standDetail, this);
- }
- private string Get_MeterTypeName()
- {
- switch (MeterType)
- {
- case 1:
- return "数字+指针";
- case 2:
- return "全指针";
- case 3:
- return "全数字";
- case 4:
- return "LED表";
- case 5:
- return "压力表";
- default:
- return "";
- //return "非水表";
- }
- }
- ///////////////////////////////////////////////////////////
- }
- }
|