using DevExpress.XtraEditors; using HStation.Vmo; using Yw; namespace HStation.WinFrmUI { public partial class PumpChartMainPage : DocumentPage { public PumpChartMainPage() { InitializeComponent(); this.phartDiagramRelationListCtrl1.SelectedChangedEvent += PhartDiagramRelationListCtrl1_SelectedChangedEvent; } private AssetsPumpMainVmo _vmo; private List _allBindingList; private PhartDiagramRelationVmo _relation = null; public async void SetBindingData(AssetsPumpMainVmo vmo) { if (vmo == null) { return; } _vmo = vmo; this.PageTitle.Caption = $"{vmo.Name}\r\n损失曲线"; _allBindingList = new List(); var allList = await BLLFactory.Instance .GetByObjectTypeAndObjectID(HStation.Assets.DataType.PumpMain, vmo.ID); allList?.ForEach(x => _allBindingList.Add(x)); this.phartDiagramRelationListCtrl1.SetBindingData(_allBindingList); } //选择改变 private void PhartDiagramRelationListCtrl1_SelectedChangedEvent(PhartDiagramRelationVmo obj) { _relation = obj; LoadPhart(_relation); } //加载图表 private async void LoadPhart(PhartDiagramRelationVmo relation) { if (relation == null) { this.pumpChartViewCtrl1.SetBindingData(null, default); return; } var vmo = await BLLFactory.Instance.GetByID(relation.DiagramID); this.pumpChartViewCtrl1.SetBindingData(vmo, _vmo.RatedSpeed); } //表格 private void barBtnImportByExcel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new ImportPumpPerform2dByExcelDlg(); dlg.ReloadDataEvent += async (rhs, name, importance) => { var bll = new BLL.PhartDiagramRelation(); var id = await bll.InsertEx(rhs); if (id > 0) { var vmo = new PhartDiagramRelationVmo(rhs); vmo.OtherName = name; if (!string.IsNullOrEmpty(importance)) { vmo.Importance = Convert.ToInt32(importance); } var relationId = await BLLFactory.Instance.Insert(vmo); if (relationId > 0) { _allBindingList.Add(rhs); this.phartDiagramRelationListCtrl1.SetBindingData(_allBindingList); return true; } return false; } return false; }; dlg.ShowDialog(); } //图片 private void barBtnImportByPicture_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new ImportPumpPerform2dByImageDlg(); dlg.ReloadDataEvent += async (rhs, name, importance) => { var bll = new BLL.PhartDiagramRelation(); var id = await bll.InsertEx(rhs); if (id > 0) { var vmo = new PhartDiagramRelationVmo(rhs); vmo.OtherName = name; if (!string.IsNullOrEmpty(importance)) { vmo.Importance = Convert.ToInt32(importance); } var relationId = await BLLFactory.Instance.Insert(vmo); if (relationId > 0) { _allBindingList.Add(rhs); this.phartDiagramRelationListCtrl1.SetBindingData(_allBindingList); return true; } return false; } return false; }; dlg.ShowDialog(); } //编辑 private async void barBtnEditChart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = GetCurrentViewModel(); if (vm == null) { return; } var dlg = new EditAssetsPumpPerform2dDlg(); var vmo = await BLLFactory.Instance.GetExByID(vm.DiagramID); dlg.SetBindingData(vmo); dlg.ReloadDataEvent += async (rhs) => { var bll = new BLL.PhartDiagramRelation(); var bol = await bll.Update(rhs); if (bol) { vm.Reset(rhs); return true; } return true; }; dlg.ShowDialog(); } //别名 private void barBtnOtherName_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } //重要度 private void barBtnUpdateimportance_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } //删除 private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = GetCurrentViewModel(); if (vm == null) { return; } var result = XtraMessageBox.Show("请问确认删除当前数据吗?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes; if (!result) { return; } var bol = await BLLFactory.Instance.DeleteByID(vm.ID); if (!bol) { TipFormHelper.ShowError("删除失败!"); return; } _allBindingList.Remove(vm); this.phartDiagramRelationListCtrl1.SetBindingData(_allBindingList); TipFormHelper.ShowSucceed("删除成功!"); } //获取当前 private PhartDiagramRelationVmo GetCurrentViewModel() { if (_allBindingList == null) { TipFormHelper.ShowError("数据初始化错误!"); return null; } if (_allBindingList.Count < 1) { TipFormHelper.ShowInfo("无数据!"); return null; } if (_relation == null) { TipFormHelper.ShowWarn("请选择数据行!"); return null; } return _relation; } } }