namespace HStation.WinFrmUI.Assets { public partial class CompressorManageMainPage : DocumentPage { public CompressorManageMainPage() { InitializeComponent(); this.PageTitle.Caption = "空压机管理"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.PageTitle.HeaderSvgImage = this.svgImageCollection1[0]; this.PageTitle.SvgImageSize = new Size(24, 24); this.CompressorTreeListCtrl1.ReloadEvent += CompressorTreeListCtrl1_ReloadEvent; } private BLL.AssetsCompressorMain _bll = null; private List _allBindingList = new List(); //初始化数据 public override void InitialDataSource() { _bll = new BLL.AssetsCompressorMain(); this.CompressorTreeListCtrl1.SetBindingData(); this.CompressorViewModelBindingSource.DataSource = _allBindingList; this.CompressorViewModelBindingSource.ResetBindings(false); } private async void CompressorTreeListCtrl1_ReloadEvent(long SeriesID) { var alllist = await _bll.GetBySeriesID(SeriesID); _allBindingList.Clear(); if (alllist != null) { foreach (var item in alllist) { _allBindingList.Add(new CompressorViewModel(item)); } } this.CompressorViewModelBindingSource.ResetBindings(false); } //添加 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddAssetsCompressorMainDlg(); var series = this.CompressorTreeListCtrl1.GetCurrentSeries(); if (series == null) { MessageBoxHelper.ShowWarning("请先选择系列!"); return; } dlg.SetBindingData(series.ID); dlg.ReloadDataEvent += async (rhs) => { var id = await _bll.Insert(rhs); if (id > 0) { rhs.ID = id; _allBindingList.Add(new CompressorViewModel(await _bll.GetByID(id))); this.CompressorViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //编辑 private async void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditCompressorMainDlg(); var Compressor = await _bll.GetByID(vm.ID); if (Compressor == null) return; dlg.SetBindingData(Compressor); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.Update(rhs)) { vm.Reset(rhs); this.CompressorViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //删除 private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示")) return; var groupresult = await _bll.DeleteByID(currentVm.ID); if (groupresult) { _allBindingList.Remove(currentVm); this.CompressorViewModelBindingSource.ResetBindings(false); TipFormHelper.ShowSucceed("删除成功!"); } else { TipFormHelper.ShowSucceed("删除失败!"); return; } } //编辑属性 private async void BarBtnEidtProp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditCompressorPartPropDlg(); var model = await _bll.GetByID(currentVm.ID); if (model == null) return; dlg.SetBindingData(model); dlg.ReloadEvent += async (part, content, map) => { var bll = new BLL.AssetsCompressorPartMain(); var id = await bll.InsertEx(part, content, map); if (id > 0) { return true; } return false; }; dlg.ShowDialog(); } private void barBtnSetCoefficient_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new SetCompressorCoefficientDlg(); dlg.SetBindingData(); dlg.ShowDialog(); } //曲线 private async void barBtnMinorLossCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var guid = new PageGuid() { Function = "水头损失曲线", TagName = currentVm.ID.ToString(), Modular = "" }; if (!IsExistPage(guid, true)) { var model = await _bll.GetByID(currentVm.ID); if (model == null) { MessageBoxHelper.ShowWarning($"{currentVm.Name}:AssetsValveMainDto is null!"); return; } var page = new HStation.WinFrmUI.PhartRelation.CompressorMainPhartMinorLossPanel(); page.InitialDataSource(currentVm.ID); guid.Function = "水头损失曲线"; page.PageTitle.Caption = guid.Function; page.PageGuid = guid; CreatePage(page, guid); } } } }