duheng
2025-03-28 e411302bca8857e102443a5250c82b9580ef07a3
WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.cs
@@ -1,4 +1,5 @@
using Yw.WinFrmUI;
using DevExpress.Utils.Extensions;
using Yw.WinFrmUI;
namespace PBS.WinFrmUI.WE
{
@@ -30,20 +31,26 @@
        private async void GroupTreeListCtrl1_ReloadEvent(long catalogueID)
        {
            _allBindingList.Clear();
            var model = await new PBS.BLL.WE.CatalogueMapping().GetByCatalogueID(catalogueID);
            if (model != null)
            var modelList = await new PBS.BLL.WE.CatalogueMapping().GetByCatalogueID(catalogueID);
            if (modelList != null)
            {
                var itemModel = await _bll.GetByID(model.ItemID);
                if (itemModel != null)
                foreach (var model in modelList)
                {
                    var utensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(itemModel.ID);
                    if (utensilList != null)
                    var itemModel = await _bll.GetByID(model.ItemID);
                    if (itemModel != null)
                    {
                        _allBindingList.Clear();
                        foreach (var item in utensilList)
                        var utensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(itemModel.ID);
                        if (utensilList != null)
                        {
                            var utensil = await new PBS.BLL.WE.Utensil().GetByID(item.UtensilID);
                            _allBindingList.Add(new ItemViewModel(itemModel, item, utensil.Name));
                            //_allBindingList.Clear();
                            foreach (var item in utensilList)
                            {
                                var utensil = await new PBS.BLL.WE.Utensil().GetByID(item.UtensilID);
                                if (utensil != null)
                                {
                                    _allBindingList.Add(new ItemViewModel(itemModel, item, utensil.Name));
                                }
                            }
                        }
                    }
                }
@@ -94,16 +101,18 @@
            PBS.Vmo.WE.ItemVmo itemVmo = null;
            if (model != null)
            {
                itemVmo = await new PBS.BLL.WE.Item().GetByID(model.ItemID);
                //itemVmo = await new PBS.BLL.WE.Item().GetByID(model);
            }
            dlg.SetBindingData(itemVmo, catalogueID);
            dlg.ReloadDataEvent += async (item, catalogue, mappingList) =>
            {
                //现在默认只能增加,不能编辑
                if (itemVmo == null)
                {
                    var id = await _bll.Insert(item);
                    if (id > 0)
                    {
                        item.ID = id;
                        catalogue.ItemID = id;
                        var cataID = await new PBS.BLL.WE.CatalogueMapping().Insert(catalogue);
                        if (cataID > 0)
@@ -158,23 +167,53 @@
        }
        //删除
        private void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        private async 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}");*/
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            if (MessageBoxHelper.IsClickOk($"确认删除数据行?"))
                return;
            if (await _bll.DeleteByID(vm.ID))
            {
                MessageBoxHelper.ShowSuccess("删除成功!");
                // 先记录要删除的元素
                var itemsToRemove = new List<ItemViewModel>();
                foreach (var item in _allBindingList)
                {
                    if (item.Name == vm.Name)
                    {
                        itemsToRemove.Add(item);
                    }
                }
                // 统一删除记录的元素
                foreach (var item in itemsToRemove)
                {
                    _allBindingList.Remove(item);
                }
                this.itemViewModelBindingSource.ResetBindings(false);
            }
            else MessageBoxHelper.ShowError($"删除失败!");
        }
        //详细信息
        private void BtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                TipFormHelper.ShowWarn("请输入数据行!");
                return;
            }
            var dlg = new EditWaterWEDlg();
            dlg.SetInfoDisplay(vm);
            dlg.ShowDialog();
        }
    }
}