using System.Data;
namespace HStation.WinFrmUI
{
public partial class PumpChartViewCtrl : DevExpress.XtraEditors.XtraUserControl
{
public PumpChartViewCtrl()
{
InitializeComponent();
}
///
/// 绑定数据
///
public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo, double nr)
{
var vm_list = vmo.GetPumpCurveViewMdoelList();
var vm_defult = vm_list.OrderBy(x => x.Hz).LastOrDefault();
var vm_ee_list = vmo.GetCurveEqualEViewMdoelList();
var vm = new Yw.WinFrmUI.Phart.PumpViewChartViewModel();
vm.Id = "";
vm.ColorQH = Color.Blue;
vm.ColorQE = Color.Green;
vm.ColorQP = Color.Red;
vm.CurveQHName = "QH";
vm.CurveQPName = "QP";
vm.CurveQH = vm_defult.CurveQH.FeatCurve.GetPointList(50);
vm.CurveQE = vm_defult.CurveQE?.FeatCurve.GetPointList(50);
vm.CurveQP = vm_defult.CurveQP?.FeatCurve.GetPointList(50);
vm.PointListQH = vm.CurveQH;
vm.PointListQE = vm.CurveQE;
vm.PointListQP = vm.CurveQP;
vm.Equip = null;
//vm.VariableSpeedList = new List();
//vm.EqualEffList = new List();
//vm.EqualPowerList = new List();
//for (int eff = 30; eff < 90; eff += 1)
//{
// var ve = new Yw.WinFrmUI.Phart.PumpChartEqualEffViewModel();
// //ve.Id = rhs.Id;
// ve.CurveName = $"{eff}";
// ve.Color = Color.ForestGreen;
// ve.CurveEqualEff = new List();
// for (int hz = 30; hz <= 50; hz += 5)
// {
// var qe = vm_defult.CurveQE.ToNewByN(50, hz);
// var q_array = qe.FeatCurve.GetPointsX(eff);
// if (q_array == null || !q_array.Any())
// {
// continue;
// }
// var qh = vm_defult.CurveQH.ToNewByN(50, hz);
// var flow = q_array.FirstOrDefault();
// var head = qh.FeatCurve.GetPointY(flow);
// ve.CurveEqualEff.Add(new Yw.Geometry.Point2d(flow, head));
// }
// if (!ve.CurveEqualEff.Any())
// {
// continue;
// }
// vm.EqualEffList.Add(ve);
//}
//for (int hz = 30; hz < 50; hz += 5)
//{
// var tN = nr * hz / 50;
// var vs = new Yw.WinFrmUI.Phart.PumpChartVariableSpeedViewModel();
// vs.CurveQHName = $"{tN}";
// vs.CurveQPName = $"{tN}";
// vs.CurveQH = vm_defult.CurveQH.GetPointListByN(nr, tN, 50);
// vs.CurveQE = vm_defult.CurveQE.GetPointListByN(nr, tN, 50);
// vs.CurveQP = vm_defult.CurveQP.GetPointListByN(nr, tN, 50);
// vs.Hz = hz;
// vs.N = tN;
// vm.VariableSpeedList.Add(vs);
//}
this.pumpChart1.SetBindingData(vm);
}
///
/// 获取
///
public Yw.Vmo.PhartDiagramExGraphListVmo Get()
{
return new Yw.Vmo.PhartDiagramExGraphListVmo();
}
}
}