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);
}
}
}