namespace Yw.WinFrmUI
{
///
/// 水力组件属性状态辅助类
///
public static class HydroParterPropStatusHelper
{
///
/// 更新属性状态
///
public static void UpdatePropStatus(this HydroParterViewModel vm, string propNameViewModel, Yw.Model.HydroParterInfo info, string propNameInfo)
{
var propStatusViewModel = vm.GetPropStatus(propNameViewModel);
var propStatusInfo = info.GetPropStatus(propNameInfo);
if (propStatusInfo == null)
{
if (propStatusViewModel != null)
{
vm.PropStatusList.Remove(propStatusViewModel);
}
return;
}
if (propStatusViewModel == null)
{
propStatusViewModel = new HydroParterPropStatusViewModel()
{
PropName = propNameViewModel,
PropStatus = propStatusInfo.PropStatus,
StatusInfo = propStatusInfo.StatusInfo
};
if (vm.PropStatusList == null)
{
vm.PropStatusList = new List();
}
vm.PropStatusList.Add(propStatusViewModel);
}
else
{
propStatusViewModel.PropStatus = propStatusInfo.PropStatus;
propStatusViewModel.StatusInfo = propStatusInfo.StatusInfo;
}
}
///
/// 更新属性状态
///
public static void UpdatePropStatus(this Yw.Model.HydroParterInfo info, string propNameInfo, HydroParterViewModel vm, string propNameViewModel)
{
var propStatusInfo = info.GetPropStatus(propNameInfo);
var propStatusViewModel = vm.GetPropStatus(propNameViewModel);
if (propStatusViewModel == null)
{
if (propStatusInfo != null)
{
info.PropStatusList.Remove(propStatusInfo);
}
return;
}
if (propStatusInfo == null)
{
propStatusInfo = new Model.HydroParterPropStatusInfo()
{
PropName = propNameInfo,
PropStatus = propStatusViewModel.PropStatus,
StatusInfo = propStatusViewModel.StatusInfo
};
if (info.PropStatusList == null)
{
info.PropStatusList = new List();
}
info.PropStatusList.Add(propStatusInfo);
}
else
{
propStatusInfo.PropStatus = propStatusViewModel.PropStatus;
propStatusInfo.StatusInfo = propStatusViewModel.StatusInfo;
}
}
}
}