using HStation.WinFrmUI.Xhs;
|
|
namespace HStation.WinFrmUI
|
{
|
/// <summary>
|
/// 项目模拟属性控件
|
/// </summary>
|
public partial class XhsProjectSimulationPropertyCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public XhsProjectSimulationPropertyCtrl()
|
{
|
InitializeComponent();
|
this.hydroParterPropertyCtrl1.PropertyValueChangedEvent += HydroParterPropertyCtrl1_PropertyValueChangedEvent;
|
this.hydroParterPropertyCtrl1.SelectCurveEvent += HydroParterPropertyCtrl1_SelectCurveEvent;
|
this.hydroParterPropertyCtrl1.SelectPatternEvent += HydroParterPropertyCtrl1_SelectPatternEvent;
|
}
|
|
private Yw.Model.HydroModelInfo _hydroInfo = null;
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
|
{
|
_hydroInfo = hydroInfo;
|
}
|
|
/// <summary>
|
/// 选择组件
|
/// </summary>
|
public void SelectParter(long id)
|
{
|
if (_hydroInfo == null)
|
{
|
this.hydroParterPropertyCtrl1.SelectedObject = null;
|
return;
|
}
|
var allParterList = _hydroInfo.GetAllParters();
|
var parter = allParterList.Find(x => x.ID == id);
|
if (parter == null)
|
{
|
this.hydroParterPropertyCtrl1.SelectedObject = null;
|
return;
|
}
|
var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
|
this.hydroParterPropertyCtrl1.SelectedObject = vm;
|
}
|
|
/// <summary>
|
/// 选择组件
|
/// </summary>
|
public void SelectParter(string code)
|
{
|
if (_hydroInfo == null)
|
{
|
this.hydroParterPropertyCtrl1.SelectedObject = null;
|
return;
|
}
|
var allParterList = _hydroInfo.GetAllParters();
|
var parter = allParterList.Find(x => x.Code == code);
|
if (parter == null)
|
{
|
this.hydroParterPropertyCtrl1.SelectedObject = null;
|
return;
|
}
|
var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
|
this.hydroParterPropertyCtrl1.SelectedObject = vm;
|
}
|
|
/// <summary>
|
/// 选择组件
|
/// </summary>
|
/// <param name="parter"></param>
|
/// <param name="allParterList"></param>
|
public void SelectParter(Yw.Model.HydroParterInfo parter, List<Yw.Model.HydroParterInfo> allParterList)
|
{
|
if (parter == null)
|
{
|
this.hydroParterPropertyCtrl1.SelectedObject = null;
|
return;
|
}
|
var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
|
this.hydroParterPropertyCtrl1.SelectedObject = vm;
|
}
|
|
/// <summary>
|
/// 更新计算属性
|
/// </summary>
|
public void UpdateCalcuProperty(Yw.WinFrmUI.IHydroCalcuProperty rhs)
|
{
|
var vm = this.hydroParterPropertyCtrl1.SelectedObject;
|
if (vm == null)
|
{
|
return;
|
}
|
vm.UpdateCalcuProperty(rhs);
|
this.hydroParterPropertyCtrl1.UpdateRows();
|
}
|
|
//属性发生改变
|
private void HydroParterPropertyCtrl1_PropertyValueChangedEvent(HydroParterPropertyViewModel obj)
|
{
|
if (obj == null)
|
{
|
return;
|
}
|
if (_hydroInfo == null)
|
{
|
return;
|
}
|
var allParterList = _hydroInfo.GetAllParters();
|
var parter = allParterList?.Find(x => x.ID == obj.ID);
|
if (parter == null)
|
{
|
return;
|
}
|
parter.UpdateProperty(allParterList, obj);
|
}
|
|
//选择曲线
|
private void HydroParterPropertyCtrl1_SelectCurveEvent(HydroParterPropertyViewModel propViewModel, string curveType)
|
{
|
//这里 dbid modeltype
|
//返回 dbid curveid 曲线信息
|
switch (curveType)
|
{
|
case Yw.WinFrmUI.HydroCurve.PumpQH:
|
{
|
var pumpPropertyViewModel = propViewModel as HydroPumpPropertyViewModel;
|
var dbId = pumpPropertyViewModel.DbId;
|
var modelType = pumpPropertyViewModel.ModelType;
|
var dlg = new PumpMainCurveChoiceDlg();
|
dlg.SetBindingData(dbId, modelType);
|
dlg.CurveinfoEvent += (dbid, curveid, curveinfo) =>
|
{
|
};
|
dlg.ShowDialog();
|
}
|
break;
|
|
case Yw.WinFrmUI.HydroCurve.PumpQE:
|
{
|
var pumpPropertyViewModel = propViewModel as HydroPumpPropertyViewModel;
|
var dbId = pumpPropertyViewModel.DbId;
|
var modelType = pumpPropertyViewModel.ModelType;
|
var dlg = new PumpMainCurveChoiceDlg();
|
dlg.SetBindingData(dbId, modelType);
|
dlg.CurveinfoEvent += (dbid, curveid, curveinfo) =>
|
{
|
};
|
dlg.ShowDialog();
|
}
|
break;
|
|
case Yw.WinFrmUI.HydroCurve.ValveQL:
|
{
|
//
|
}
|
break;
|
|
default: break;
|
}
|
// XtraMessageBox.Show($"{propViewModel.Name}-{curveType}");
|
}
|
|
//选择模式
|
private void HydroParterPropertyCtrl1_SelectPatternEvent(HydroParterPropertyViewModel propViewModel, string patternType)
|
{
|
switch (patternType)
|
{
|
case Yw.WinFrmUI.HydroPattern.Demand:
|
{
|
}
|
break;
|
|
case Yw.WinFrmUI.HydroPattern.Head:
|
{
|
}
|
break;
|
|
default: break;
|
}
|
XtraMessageBox.Show($"{propViewModel.Name}-{patternType}");
|
}
|
}
|
}
|