namespace HStation.WinFrmUI
{
public partial class PumpChartEditCtrl : DevExpress.XtraEditors.XtraUserControl
{
public PumpChartEditCtrl()
{
InitializeComponent();
}
private Yw.Vmo.PhartDiagramExGraphListVmo _vmo;
private Yw.Vmo.PhartGraphVmo _vmo_qh;
private Yw.Vmo.PhartGraphVmo _vmo_qe;
private Yw.Vmo.PhartGraphVmo _vmo_qp;
///
/// 绑定数据
///
public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo, double nr)
{
_vmo = vmo;
var vm = vmo.GetDefaultVmo();
_vmo_qh = vm.QH;
_vmo_qe = vm.QE;
_vmo_qp = vm.QP;
var qh = vm.QH.GetCurveInfo();
var qe = vm.QE.GetCurveInfo();
var qp = vm.QP.GetCurveInfo();
this.pumpChartExcelEditCtrl1.SetBindingData
(
qh.define_pt_list,
qe.define_pt_list,
qp.define_pt_list,
qh.feat_type,
qe.feat_type,
qp.feat_type
);
}
///
/// 获取
///
public Yw.Vmo.PhartDiagramExGraphListVmo Get()
{
if (_vmo == null)
return default;
if (!this.pumpChartExcelEditCtrl1.Get
(
out List def_qh_pt_list,
out List def_qe_pt_list,
out List def_qp_pt_list,
out Yw.Ahart.eFeatType feat_type_qh,
out Yw.Ahart.eFeatType feat_type_qe,
out Yw.Ahart.eFeatType feat_type_qp
)
)
{
return default;
}
var qh_valid = def_qh_pt_list != null && def_qh_pt_list.Any();
var qe_valid = def_qe_pt_list != null && def_qe_pt_list.Any();
var qp_valid = def_qp_pt_list != null && def_qp_pt_list.Any();
if (qh_valid)
{
if (_vmo_qh != null)
{
var vmo = _vmo.GraphList.Find(x => x.ID == _vmo_qh.ID);
vmo.GeometryParas = new Yw.WinFrmUI.Phart.CurveGeometryParasViewModel
{
DefinePoints = def_qh_pt_list
}.ToJson(); ;
vmo.GeometryInfo = PhartGraphHelper.ToDbString(Yw.Ahart.eCurveType.QH, feat_type_qh, def_qh_pt_list);
}
}
if (qe_valid)
{
if (_vmo_qe != null)
{
var vmo = _vmo.GraphList.Find(x => x.ID == _vmo_qe.ID);
vmo.GeometryParas = new Yw.WinFrmUI.Phart.CurveGeometryParasViewModel
{
DefinePoints = def_qe_pt_list
}.ToJson();
vmo.GeometryInfo = PhartGraphHelper.ToDbString(Yw.Ahart.eCurveType.QE, feat_type_qe, def_qe_pt_list);
}
}
if (qp_valid)
{
if (_vmo_qp != null)
{
var vmo = _vmo.GraphList.Find(x => x.ID == _vmo_qp.ID);
vmo.GeometryParas = new Yw.WinFrmUI.Phart.CurveGeometryParasViewModel
{
DefinePoints = def_qp_pt_list
}.ToJson();
vmo.GeometryInfo = PhartGraphHelper.ToDbString(Yw.Ahart.eCurveType.QP, feat_type_qp, def_qp_pt_list);
}
}
return _vmo;
}
}
}