using Yw.Service;
|
|
namespace HStation.Hydro
|
{
|
/// <summary>
|
///
|
/// </summary>
|
internal class PropStatusHelper
|
{
|
public PropStatusHelper(Yw.Model.HydroModelInfo hydroInfo)
|
{
|
_hydroInfo = hydroInfo;
|
}
|
private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
|
private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dict = null;//字典
|
|
/// <summary>
|
/// 更新属性状态信息
|
/// </summary>
|
public void UpdatePropStatusInfo(string code, string propNameInfo, HStation.Model.RevitParter revit, string propNameRevit)
|
{
|
if (string.IsNullOrEmpty(code))
|
{
|
return;
|
}
|
if (_dict == null)
|
{
|
_dict = new Dictionary<string, List<HydroParterPropStatusInfo>>();
|
}
|
if (!_dict.ContainsKey(code))
|
{
|
_dict.Add(code, new List<HydroParterPropStatusInfo>());
|
}
|
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;
|
}
|
|
/// <summary>
|
/// 获取属性状态列表
|
/// </summary>
|
public List<Yw.Model.HydroParterPropStatusInfo> GetPropStatusDbList()
|
{
|
return _hydroInfo.ToPropStatusDbList(allPropStatusInfoDict: _dict);
|
}
|
|
|
}
|
}
|