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