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