namespace HStation.WinFrmUI { public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage { public SetXhsProjectMapLocationWizardPage() { InitializeComponent(); this.layoutControl1.SetupLayoutControl(); } private ImportXhsProjectViewModel _vm = null; /// /// 初始化 /// public async void InitialPage(ImportXhsProjectViewModel t) { /* if (_isInitialize) { return; }*/ _vm = t; //_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(); } /// /// 是否初始化 /// public bool IsInitialize { get { return _isInitialize; } } private bool _isInitialize = false; public event Action PageStateChangedEvent; /// /// 是否允许上一步 /// public bool AllowPrev { get { return true; } } /// /// 是否允许下一步 /// public bool AllowNext { get; set; } /// /// 是否允许取消 /// public bool AllowCancel { get { return true; } } /// /// 是否允许完成 /// public bool AllowComplete { get; set; } /// /// 能否上一步 /// public bool CanPrev() { return true; } /// /// 能否下一步 /// public bool CanNext() { return true; } /// /// 能否取消 /// public bool CanCancel() { return true; } /// /// 能否完成 /// public bool CanComplete() { 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() { 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("导入错误!"); } } } } } //地图加载完成 private async void MapSetSimpleMarkerContainer1_LoadCompletedEvent() { if (_vm == null) { return; } if (_vm.Location != null) { await this.mapSetSimpleMarkerContainer1.LoadMarker(_vm.Location); } } //设置位置 private void MapSetSimpleMarkerContainer1_SetMarkerEvent(Yw.Model.Map.Marker obj) { if (_vm != null) { _vm.Location = obj; } this.txtAddress.EditValue = obj.Address; } } }