yangyin
2024-08-20 98e49c0dd42840a094837f7acae532bc237a719a
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs
@@ -1,5 +1,6 @@
using DevExpress.Utils;
using NetTaste;
using DevExpress.CodeParser;
using DevExpress.Utils;
using HStation.WinFrmUI.Xhs;
namespace HStation.WinFrmUI
{
@@ -16,14 +17,16 @@
        private List<XhsProjectMgrViewModel> _allProjectList = null;
        private BLL.XhsProjectExtensions _bll = null;
        /// <summary>
        /// 初始化数据源
        /// </summary>
        public override async void InitialDataSource()
        {
            base.InitialDataSource();
            var allProjectList = await new BLL.XhsProject().GetAll();
            _bll = new BLL.XhsProjectExtensions();
            var allProjectList = await _bll.GetAll();
            _allProjectList = new List<XhsProjectMgrViewModel>();
            if (allProjectList != null && allProjectList.Count > 0)
            {
@@ -44,7 +47,7 @@
        //查看bimface模型
        private async void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.treeList1.GetCurrentViewModel(_allProjectList);
            var vm = GetCurrentViewModel();
            if (vm == null)
            {
                return;
@@ -115,12 +118,106 @@
            var vm = this.treeList1.GetCurrentViewModel(_allProjectList);
            if (vm == null)
            {
                Yw.WinFrmUI.MessageBoxHelper.ShowInfo("请选择数据行");
                Yw.WinFrmUI.MessageBoxHelper.ShowInfo("请选择数据行!");
                return null;
            }
            return vm;
        }
        #endregion 当前
        #region 基础操作
        //添加
        private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new AddProjectDlg();
            dlg.ReloadDataEvent += async (rhs, mapinfo) =>
            {
                var bll = new BLL.XhsProjectExtensions();
                var id = await bll.Insert(rhs);
                if (id > 0)
                {
                    rhs.ID = id;
                    var vmo = await _bll.GetByID(id);
                    _allProjectList.Add(new XhsProjectMgrViewModel(vmo));
                    this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
                    if (mapinfo != null)
                    {
                        mapinfo.ObjectID = id;
                        mapinfo.ObjectName = rhs.Name;
                        var mapinfoid = await new Yw.BLL.MapInfo().Insert(mapinfo);
                        if (mapinfoid < 0)
                        {
                            TipFormHelper.ShowError("地图信息添加错误");
                        }
                    }
                    return true;
                }
                return false;
            };
            dlg.ShowDialog();
        }
        //编辑
        private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var currentVm = this.GetCurrentViewModel();
            var dlg = new EditProjectDlg();
            dlg.SetBindingData(currentVm.ID);
            dlg.ReloadDataEvent += async (rhs, mapinfo) =>
            {
                if (await _bll.Update(rhs))
                {
                    currentVm.Reset(rhs);
                    this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
                    if (mapinfo != null)
                    {
                        //  mapinfo.ObjectID = id;
                        mapinfo.ObjectName = rhs.Name;
                        var bol = await new Yw.BLL.MapInfo().Update(mapinfo);
                        if (!bol)
                        {
                            TipFormHelper.ShowError("地图信息编辑错误");
                        }
                    }
                    return true;
                }
                return false;
            };
            dlg.ShowDialog();
        }
        //删除
        private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var currentVm = GetCurrentViewModel();
            if (currentVm == null)
            {
                MessageBoxHelper.ShowWarning("请选择数据行!");
                return;
            }
            if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示"))
                return;
            var groupresult = await _bll.DeleteByID(currentVm.ID);
            if (groupresult)
            {
                _allProjectList.Remove(currentVm);
                this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
                TipFormHelper.ShowSucceed("删除成功!");
            }
            else
            {
                TipFormHelper.ShowSucceed("删除失败!");
                return;
            }
        }
        //详细信息
        private void barBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
        }
        #endregion 基础操作
    }
}