duheng
2025-03-28 b266e82b9a377fa35a766f7a3a2f5aa95f3c9125
WinFrmUI/PBS.WinFrmUI/01-place/PlaceMgrPage.cs
@@ -1,6 +1,7 @@
using DevExpress.DataProcessing.InMemoryDataProcessor;
using DevExpress.Utils.DragDrop;
using DevExpress.XtraEditors;
using HStation.WinFrmUI;
using Yw;
using Yw.WinFrmUI;
@@ -55,11 +56,12 @@
                if (id > 0)
                {
                    vmo.ID = id;
                    mapInfo.ObjectID = id;
                    var mapId= await new Yw.BLL.MapInfo().Insert(mapInfo);
                    mapInfo.ID = mapId;
                    _allBindingList.Add(new PlaceViewModel(vmo, mapInfo));
                    this.placeViewModelBindingSource.ResetBindings(false);
                    mapInfo.ObjectID = id;
                    await new Yw.BLL.MapInfo().Insert(mapInfo);
                    return true;
                     return true;
                }
                return false;
            };
@@ -144,12 +146,20 @@
                TipFormHelper.ShowWarn("请选择数据行");
            }
            var dlg = new EditPlaceDlg();
            dlg.SetBindingData(vm.Vmo, vm.MapInfoVmo);
            dlg.SetBindingData(vm.Vmo, vm.MapInfo);
            dlg.ReloadDataEvent += async (vmo, map) =>
            {
                var bol = await _placeBll.Update(vmo);
                if (bol)
                {
                    if (map.ID > 0)
                    {
                        await new Yw.BLL.MapInfo().Update(map);
                    }
                    else
                    {
                        await new Yw.BLL.MapInfo().Insert(map);
                    }
                    vm.Resert(vmo, map);
                    this.placeViewModelBindingSource.ResetBindings(false);
                    return true;
@@ -171,6 +181,14 @@
            if (!result)
            {
                return;
            }
            if (vm.MapInfo != null)
            {
                if (!await BLLFactory<Yw.BLL.MapInfo>.Instance.DeleteByObjectTypeAndObjectID(PBS.DataType.PBSPlace, vm.ID))
                {
                    TipFormHelper.ShowError("项目地图位置删除失败,请重试!");
                    return;
                }
            }
            var bol = await _placeBll.DeleteByID(vm.ID);
            if (!bol)
@@ -385,5 +403,28 @@
            this.placeViewModelBindingSource.ResetBindings(false);
            this.gridView1.FocusedRowHandle = nextHandle;
        }
        private void barBtnUpdateUseStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                return;
            }
            var dlg = new SetUseStatusDlg();
            dlg.SetBindingData((Yw.Model.eUseStatus)vm.UseStatus);
            dlg.ReloadDataEvent += async (status) =>
            {
                var bol = await BLLFactory<PBS.BLL.Place>.Instance.UpdateUseStatus(vm.ID, status);
                if (bol)
                {
                    vm.UseStatus = (Yw.Vmo.eUseStatus)(int)status;
                    this.gridView1.RefreshRow(this.gridView1.FocusedRowHandle);
                    return true;
                }
                return false;
            };
            dlg.ShowDialog();
        }
    }
}