using Yw.Hydro; using Yw.Model; using Yw.Service; namespace Yw.WinFrmUI { /// /// 构件属性辅助类 /// public class HydroPropStatusHelper { /// /// /// public HydroPropStatusHelper ( Yw.Model.HydroModelInfo hydroInfo, List allPropStatusDbList ) { _hydroInfo = hydroInfo; _dict = _hydroInfo.ToPropStatusInfoDict(allPropStatusDbList); } private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息 private Dictionary> _dict = null;//字典 /// /// 获取属性状态信息 /// public HydroParterPropStatusInfo GetPropStatusInfo(string code, string propNameInfo) { if (string.IsNullOrEmpty(code)) { return default; } if (string.IsNullOrEmpty(propNameInfo)) { return default; } if (_dict == null) { _dict = new Dictionary>(); } if (!_dict.ContainsKey(code)) { _dict.Add(code, new List()); } if (_dict[code] == null) { _dict[code] = new List(); } var list = _dict[code]; var propStatusInfo = list.Find(x => x.PropName == propNameInfo); return propStatusInfo; } /// /// 获取属性状态Db列表 /// public List GetPropStatusDbList() { return _hydroInfo.ToPropStatusDbList(_dict); } /// /// 更新属性状态 /// public void UpdatePropStatus(Yw.Model.HydroParterInfo parter, string propNameInfo, ePropStatus propStatus, string statusInfo) { UpdatePropStatus(parter?.Code, propNameInfo, propStatus, statusInfo); } /// /// 更新属性状态 /// public void UpdatePropStatus(string code, string propNameInfo, ePropStatus propStatus, string statusInfo) { if (string.IsNullOrEmpty(code)) { return; } if (string.IsNullOrEmpty(propNameInfo)) { return; } if (_dict == null) { _dict = new Dictionary>(); } if (!_dict.ContainsKey(code)) { _dict.Add(code, new List()); } if (_dict[code] == null) { _dict[code] = new List(); } var list = _dict[code]; var propStatusInfo = list.Find(x => x.PropName == propNameInfo); if (propStatusInfo == null) { propStatusInfo = new HydroParterPropStatusInfo() { Parter = code, PropName = propNameInfo }; list.Add(propStatusInfo); } propStatusInfo.PropStatus = propStatus; propStatusInfo.StatusInfo = statusInfo; } } }