yangyin
2024-08-20 98e49c0dd42840a094837f7acae532bc237a719a
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs
@@ -1,5 +1,4 @@

namespace HStation.WinFrmUI
namespace HStation.WinFrmUI
{
    public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
    {
@@ -16,18 +15,27 @@
        /// </summary>
        public async void InitialPage(ImportXhsProjectViewModel t)
        {
            if (_isInitialize)
            /*  if (_isInitialize)
            {
                return;
            }
              }*/
            _vm = t;
            _isInitialize = true;
            //_isInitialize = true;
            this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent;
            this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent;
            await this.mapSetSimpleMarkerContainer1.InitialContainer();
            if (!InputXhsProjectInfoWizardPage.AllowImport)
            {
                AllowNext = false;
                AllowComplete = true;
        }
            else
            {
                AllowNext = true;
                AllowComplete = false;
            }
            PageStateChangedEvent.Invoke();
        }
        /// <summary>
        /// 是否初始化
@@ -36,6 +44,7 @@
        {
            get { return _isInitialize; }
        }
        private bool _isInitialize = false;
        public event Action PageStateChangedEvent;
@@ -53,7 +62,8 @@
        /// </summary>
        public bool AllowNext
        {
            get { return true; }
            get;
            set;
        }
        /// <summary>
@@ -69,7 +79,8 @@
        /// </summary>
        public bool AllowComplete
        {
            get { return false; }
            get;
            set;
        }
        /// <summary>
@@ -101,7 +112,75 @@
        /// </summary>
        public bool CanComplete()
        {
            return false;
            Task.Run(() => InsertProject());
            return true;
        }
        private async void InsertProject()
        {
            var bllXhsProjectExtensions = new BLL.XhsProjectExtensions();
            var project = new Vmo.Xhs.XhsProjectExtensions();
            project.NO = _vm.NO;
            project.Name = _vm.Name;
            project.Address = _vm.Address;
            project.Customer = _vm.Customer;
            project.Flags = _vm.Flags;
            project.TagName = _vm.TagName;
            project.Description = _vm.Description;
            project.SiteList = new List<Vmo.Xhs.XhsProjectSite>() {
                new Vmo.Xhs.XhsProjectSite(){
                    Name=_vm.Name,
                    Description=_vm.Description
                }
            };
            var projectId = await bllXhsProjectExtensions.Insert(project);
            if (projectId > 1)
            {
                if (_vm.Location != null)
                {
                    var mapInfo = new Yw.Vmo.Map.MapInfo();
                    mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject;
                    mapInfo.ObjectID = projectId;
                    mapInfo.ObjectName = project.Name;
                    mapInfo.Purpose = Yw.Map.Purpose.Location;
                    mapInfo.Kind = Yw.Map.Kind.Gaodei;
                    mapInfo.Shape = Yw.Map.Shape.Marker;
                    mapInfo.Position = _vm.Location.ToJson();
                    var mapInfoId = await new Yw.BLL.MapInfo().Insert(mapInfo);
                    if (mapInfoId < 1)
                    {
                        if (this.InvokeRequired)
                        {
                            this.Invoke(new Action(() =>
                            {
                                // 更新UI控件
                                MessageBoxHelper.ShowError("导入错误!");
                            }));
                        }
                        else
                        {
                            // 直接更新UI控件
                            MessageBoxHelper.ShowError("导入错误!");
                        }
                    }
                    else
                    {
                        if (this.InvokeRequired)
                        {
                            this.Invoke(new Action(() =>
                            {
                                // 更新UI控件
                                MessageBoxHelper.ShowError("导入错误!");
                            }));
                        }
                        else
                        {
                            // 直接更新UI控件
                            MessageBoxHelper.ShowError("导入错误!");
                        }
                    }
                }
            }
        }
        //地图加载完成
@@ -126,7 +205,5 @@
            }
            this.txtAddress.EditValue = obj.Address;
        }
    }
}