using Yw.Service; namespace HStation.Hydro { /// /// /// internal class PropStatusHelper { public PropStatusHelper(Yw.Model.HydroModelInfo hydroInfo) { _hydroInfo = hydroInfo; } private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息 private Dictionary> _dict = null;//字典 /// /// 更新属性状态信息 /// public void UpdatePropStatusInfo(string code, string propNameInfo, HStation.Model.RevitParter revit, string propNameRevit) { if (string.IsNullOrEmpty(code)) { return; } if (_dict == null) { _dict = new Dictionary>(); } if (!_dict.ContainsKey(code)) { _dict.Add(code, new List()); } var propStatusRevit = revit.GetPropStatus(propNameRevit); if (propStatusRevit == null) { return; } var propStatusInfo = _dict[code].Find(x => x.PropName == propNameInfo); if (propStatusInfo == null) { propStatusInfo = new HydroParterPropStatusInfo(); propStatusInfo.Parter = code; propStatusInfo.PropName = propNameInfo; _dict[code].Add(propStatusInfo); } propStatusInfo.PropStatus = (Yw.Hydro.ePropStatus)(int)propStatusRevit.PropStatus; propStatusInfo.StatusInfo = propStatusRevit.StatusInfo; } /// /// 获取属性状态列表 /// public List GetPropStatusDbList() { return _hydroInfo.ToPropStatusDbList(_dict); } } }