namespace HStation.WinFrmUI.Xhs.PumpProduct { public partial class PumpProductMainPanel : DocumentPage { public PumpProductMainPanel() { InitializeComponent(); this.PageTitle.Caption = "泵管理"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.pumpSeriesTreeListCtrl1.FocusedChangedEvent += PumpSeriesTreeListCtrl1_FocusedChangedEvent; } private readonly List _allBindingList = new(); private BLL.PumpMain _bll = null; public override void InitialDataSource() { _bll = new BLL.PumpMain(); this.pumpSeriesTreeListCtrl1.SetBindingData(); this.currentViewModelBindingSource.DataSource = _allBindingList; this.currentViewModelBindingSource.ResetBindings(false); } private async void SetBindingData() { _allBindingList.Clear(); _bll = new BLL.PumpMain(); var alllist = await _bll.GetAll(); foreach (var item in alllist) { _allBindingList.Add(new PumpMainViewModel(item)); } } //聚焦切换 private async void PumpSeriesTreeListCtrl1_FocusedChangedEvent(long obj, bool isgroup) { _allBindingList.Clear(); if (isgroup) { var alllist = await _bll.GetByPumpSeriesID(obj); _allBindingList.Clear(); foreach (var item in alllist) { _allBindingList.Add(new PumpMainViewModel(item)); } } else { var idlist = new BLL.PumpGroupAndMainMap().GetByGroupID(obj); var alllist = await _bll.GetByIds(idlist); if (alllist != null) { _allBindingList.Clear(); foreach (var item in alllist) { _allBindingList.Add(new PumpMainViewModel(item)); } } } this.currentViewModelBindingSource.ResetBindings(false); } //增加 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddPumpProductMainDlg(); //系列ID var id = this.pumpSeriesTreeListCtrl1.GetCurrentID(); if (id <= 0) { return; } var groupid = this.pumpSeriesTreeListCtrl1.GetCurrentGroupID(); AddPumpGroupAndMainMapDto map = null; if (groupid > 0) { map = new AddPumpGroupAndMainMapDto(); map.PumpGroupID = groupid; } dlg.SetBindingData(id); dlg.ReloadDataEvent += async (main, part, content, mainmap) => { var id = await _bll.InsertEx(main, map, part, content, mainmap); if (id > 0) { var model = await _bll.GetByID(id); _allBindingList.Add(new PumpMainViewModel(model)); this.currentViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //修改 private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditPumpProductMainDlg(); dlg.SetBindingData(currentVm.ID); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.Update(rhs)) { currentVm.Reset(rhs); this.currentViewModelBindingSource.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.DeleteMapByMainID(currentVm.ID); if (groupresult) { _allBindingList.Remove(currentVm); this.currentViewModelBindingSource.ResetBindings(false); MessageBoxHelper.ShowSuccess($"删除成功!"); } else { MessageBoxHelper.ShowError($"删除失败!"); return; } } //泵曲线编辑 private async void barBtnEditPumpCurve_ItemClickAsync(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var guid = new PageGuid() { Function = "泵曲线管理", Modular = "" }; if (!IsExistPage(guid, true)) { var model = await _bll.GetByID(currentVm.ID); if (model != null) { /* var page = new ModelManageCtrl(_PumpMain); page.PageTitle.Caption = guid.Function; page.SurfaceGuid = guid; CreatePage(page, guid);*/ } } } //泵产品编辑 private void BarBtnEidtPumpPart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditPumpPartDlg(); dlg.SetBindingData(currentVm.ID); dlg.ReloadEvent += async (part, content, map) => { var bll = new BLL.PumpPartMain(); var id = await bll.InsertEx(part, content, map); if (id > 0) { return true; } return false; }; dlg.ShowDialog(); } //表格右击菜单 private void gridView1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { if (this.gridView1.GetCurrentViewModel(_allBindingList) != null) { Point screenPoint = Cursor.Position; popupPump.ShowPopup(screenPoint); } } } } }