using Yw.WinFrmUI; namespace PBS.WinFrmUI.WE { public partial class WaterWEMgr : DocumentPage { public WaterWEMgr() { InitializeComponent(); this.PageTitle.Caption = "用水当量"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.gridView1.OptionsCustomization.AllowSort = false; this.catalogueCtrl1.ReloadEvent += GroupTreeListCtrl1_ReloadEvent; } private PBS.BLL.WE.Item _bll = new(); private List _allBindingList = null; /// /// 初始化数据 /// public override void InitialDataSource() { _allBindingList = new List(); this.catalogueCtrl1.SetBindingData(); } private async void GroupTreeListCtrl1_ReloadEvent(long catalogueID) { _allBindingList.Clear(); var model = await new PBS.BLL.WE.CatalogueMapping().GetByCatalogueID(catalogueID); if (model != null) { var itemModel = await _bll.GetByID(model.ItemID); if (itemModel != null) { var utensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(itemModel.ID); if (utensilList != null) { _allBindingList.Clear(); foreach (var item in utensilList) { var utensil = await new PBS.BLL.WE.Utensil().GetByID(item.UtensilID); _allBindingList.Add(new ItemViewModel(itemModel, item, utensil.Name)); } } } } this.itemViewModelBindingSource.DataSource = _allBindingList; this.itemViewModelBindingSource.ResetBindings(false); } #region 事件 /// /// 检索 /// private void barCekSearch_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.gridView1.IsFindPanelVisible) this.gridView1.HideFindPanel(); else this.gridView1.ShowFindPanel(); } /// /// 刷新数据 /// private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { InitialDataSource(); } #endregion 事件 //设置 private async void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!this.catalogueCtrl1.IsLeafNode()) { MessageBoxHelper.ShowWarning("请选择最小节点!"); return; } var catalogueID = this.catalogueCtrl1.GetCurrentID(); if (catalogueID == 0) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditWaterWEDlg(); var model = await new PBS.BLL.WE.CatalogueMapping().GetByCatalogueID(catalogueID); PBS.Vmo.WE.ItemVmo itemVmo = null; if (model != null) { itemVmo = await new PBS.BLL.WE.Item().GetByID(model.ItemID); } dlg.SetBindingData(itemVmo, catalogueID); dlg.ReloadDataEvent += async (item, catalogue, mappingList) => { if (itemVmo == null) { var id = await _bll.Insert(item); if (id > 0) { catalogue.ItemID = id; var cataID = await new PBS.BLL.WE.CatalogueMapping().Insert(catalogue); if (cataID > 0) { mappingList.ForEach(x => x.ItemID = id); var bol = await new PBS.BLL.WE.UtensilMapping().Inserts(mappingList); if (bol) { foreach (var mapping in mappingList) { var utensil = await new PBS.BLL.WE.Utensil().GetByID(mapping.UtensilID); _allBindingList.Add(new ItemViewModel(item, mapping, utensil.Name)); } this.itemViewModelBindingSource.ResetBindings(false); return true; } return false; } return false; } return false; } else { var bol = await _bll.Update(item); if (bol) { var del = await new PBS.BLL.WE.UtensilMapping().DeleteAllByItemID(item.ID); if (del) { mappingList.ForEach(x => x.ItemID = item.ID); var mappingBol = await new PBS.BLL.WE.UtensilMapping().Inserts(mappingList); if (mappingBol) { _allBindingList.Clear(); foreach (var mapping in mappingList) { var utensil = await new PBS.BLL.WE.Utensil().GetByID(mapping.UtensilID); _allBindingList.Add(new ItemViewModel(item, mapping, utensil.Name)); } this.itemViewModelBindingSource.ResetBindings(false); return true; } return false; } } return false; } }; dlg.ShowDialog(); } //删除 private void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { /* var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } if (MessageBoxHelper.IsClickOk($"确认删除数据行?")) return; if (_bllWaterEquivalent.DeleteByID(vm.UserID, out string msg)) { MessageBoxHelper.ShowSuccess("删除成功!"); _allBindingList.Remove(vm); this.currentViewModelBindingSource.ResetBindings(false); } else MessageBoxHelper.ShowError($"删除失败!\n{msg}");*/ } } }