using DevExpress.XtraEditors;
using NetTaste;
namespace HStation.WinFrmUI.PhartRelation
{
public partial class CompressorMainPhartMinorLossPanel : DocumentPage
{
public CompressorMainPhartMinorLossPanel()
{
InitializeComponent();
this.PageTitle.Caption = "水头损失曲线";
}
private long _valve_main_id;
private Vmo.AssetsCompressorCoefficientVmo _xhs_phart_diagram_ex_std_dto = null;
private readonly BLL.AssetsCompressorCoefficient _bll = new();
///
/// 初始化数据
///
public async void InitialDataSource(long valve_main_id)
{
_valve_main_id = valve_main_id;
if (_valve_main_id < 1)
{
return;
}
var chart = await new BLL.AssetsCompressorCoefficient().GetByMainID(valve_main_id);
if (chart != null && chart.Count > 0)
{
_xhs_phart_diagram_ex_std_dto = chart.First();
this.xtrPerform2dChart1.SetBindingData(_xhs_phart_diagram_ex_std_dto.MinorLossCurve);
}
this.xtrPerform2dChart1.SetAxisTitle("流量 m³/h", "压力 m");
}
#region 图表
//清空图表数据
private void ClearChart()
{
this.xtrPerform2dChart1.InitialChartData();
}
#endregion 图表
#region 导入
//Excel 导入
private void barBtnImportByExcel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var dlg = new ImportCompressorPerform2dByExcelDlg();
dlg.SetBindingData("流量 m³/h ", "压力 m");
dlg.ReloadDataEvent += async (pt_list_json) =>
{
var bol = await Import(pt_list_json);
return bol;
};
dlg.ShowDialog();
}
// 导入
private async Task Import(string pt_list_json)
{
if (_valve_main_id < 1)
{
XtraMessageBox.Show("ValveMain is null!");
return false;
}
var model = new Vmo.AssetsCompressorCoefficientVmo();
model.MainID = _valve_main_id;
model.MinorLossCurve = pt_list_json;
this.xtrPerform2dChart1.SetBindingData(pt_list_json);
var id = await _bll.Insert(model);
if (id > 0)
{
model.ID = id;
_xhs_phart_diagram_ex_std_dto = model;
return true;
}
return false;
}
#endregion 导入
#region 操作
//编辑
private void barBtnEditChart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
/* if (_xhs_phart_diagram_ex_std_dto == null)
{
return;
}
var diagram = _xhs_phart_diagram_ex_std_dto.Diagram;
if (diagram == null)
{
return;
}
var graph_list = diagram.GraphList;
if (graph_list == null || !graph_list.Any())
{
return;
}
var graph_ql = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.ValveOL);
if (graph_ql == null)
{
return;
}
Yw.Geometry.CubicSpline2d ql = null;
List points_ql = null;
points_ql = PhartPerformCurveHelper.GetFeatPointList(graph_ql.GraphType, graph_ql.GeometryInfo, 12, null);
ql = new Yw.Geometry.CubicSpline2d(points_ql);
var dlg = new ValvePerform2dEditDlg();
dlg.SetBindingData(ql);
dlg.SetAxisTile("阀门开度", "压力损失系数");
dlg.ReloadDataEvent += async (new_ql) =>
{
graph_ql.GeometryInfo = new_ql.ToDbString();
_xhs_phart_diagram_ex_std_dto.Diagram.GraphList = new List()
{
graph_ql
};
var bol = await _bll.Update(_xhs_phart_diagram_ex_std_dto);
if (bol)
{
InitChart(_xhs_phart_diagram_ex_std_dto);
}
return bol;
};
dlg.ShowDialog();*/
}
//别名
private void barBtnOtherName_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
/* if (_xhs_phart_diagram_ex_std_dto == null)
{
return;
}
var dlg = new SetOtherNameDlg();
dlg.SetBindingData(_xhs_phart_diagram_ex_std_dto.OtherName);
dlg.VerifyValueChanged += async (value) =>
{
_xhs_phart_diagram_ex_std_dto.OtherName = value;
var bol = await _bll.Update(_xhs_phart_diagram_ex_std_dto);
if (!bol)
{
XtraMessageBox.Show("更新失败!");
return false;
}
this.CompressorMainPhartListCtrl1.UpdateOtherName(_xhs_phart_diagram_ex_std_dto.ID, value);
XtraMessageBox.Show("更新成功!");
return true;
};
dlg.ShowDialog();*/
}
//重要度
private void barBtnUpdateimportance_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
/* var dlg = new SetImportanceDlg();
dlg.SetBindingData(_xhs_phart_diagram_ex_std_dto.Importance);
dlg.VerifyValueChanged += async (value) =>
{
_xhs_phart_diagram_ex_std_dto.Importance = value;
var bol = await _bll.Update(_xhs_phart_diagram_ex_std_dto);
if (!bol)
{
XtraMessageBox.Show("更新失败!");
return false;
}
this.CompressorMainPhartListCtrl1.UpdateImportance(_xhs_phart_diagram_ex_std_dto.ID, value);
XtraMessageBox.Show("更新成功!");
return true;
};
dlg.ShowDialog();*/
}
#region 删除
//删除
private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
await Delete();
}
//删除
private async Task Delete()
{
if (_xhs_phart_diagram_ex_std_dto == null)
{
return false;
}
var bol = await _bll.DeleteByID(_xhs_phart_diagram_ex_std_dto.ID);
if (!bol)
{
XtraMessageBox.Show("删除失败!");
return false;
}
XtraMessageBox.Show("删除成功!");
ClearChart();
// this.CompressorMainPhartListCtrl1.Delete(_xhs_phart_diagram_ex_std_dto.ID);
return true;
}
#endregion 删除
#endregion 操作
}
}