duheng
2024-08-26 c17dd77e798b3b94da8ee93ba3577d0bd540a125
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/03-MapLocation/SetXhsProjectMapLocationWizardPage.cs
@@ -1,4 +1,5 @@

using NPOI.HSSF.Record;
namespace HStation.WinFrmUI
{
    public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
@@ -16,18 +17,27 @@
        /// </summary>
        public async void InitialPage(ImportXhsProjectViewModel t)
        {
            if (_isInitialize)
            {
                return;
            }
            /*  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 +46,7 @@
        {
            get { return _isInitialize; }
        }
        private bool _isInitialize = false;
        public event Action PageStateChangedEvent;
@@ -53,7 +64,8 @@
        /// </summary>
        public bool AllowNext
        {
            get { return true; }
            get;
            set;
        }
        /// <summary>
@@ -69,7 +81,8 @@
        /// </summary>
        public bool AllowComplete
        {
            get { return false; }
            get;
            set;
        }
        /// <summary>
@@ -101,7 +114,54 @@
        /// </summary>
        public bool CanComplete()
        {
            return false;
            Task<bool> task = Task.Run(async () => await InsertProject());
            var bol = task.GetAwaiter();
            return true;
        }
        private async Task<bool> 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)
            {
                _vm.ProjectID = projectId;
                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)
                    {
                        return false;
                    }
                    else
                    {
                        return true;
                    }
                }
            }
            return true;
        }
        //地图加载完成
@@ -126,7 +186,5 @@
            }
            this.txtAddress.EditValue = obj.Address;
        }
    }
}
}