using HStation.Vmo; using NPOI.HSSF.Record; 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) { _vm = t; this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent; this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent; await this.mapSetSimpleMarkerContainer1.InitialContainer(); 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 { return true; } set { } } /// /// 是否允许取消 /// public bool AllowCancel { get { return true; } } /// /// 是否允许完成 /// public bool AllowComplete { get { return false; } set { } } /// /// 能否上一步 /// public bool CanPrev() { return true; } /// /// 能否下一步 /// public bool CanNext() { return true; } /// /// 能否取消 /// public bool CanCancel() { return true; } /// /// 能否完成 /// public bool CanComplete() { Task task = Task.Run(async () => await InsertProject()); var bol = task.GetAwaiter(); return true; } private async Task InsertProject() { var bllXhsProjectExtensions = new BLL.XhsProjectExtensions(); var project = new XhsProjectExtensionsVmo(); 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 XhsProjectSiteVmo(){ 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.MapInfoVmo(); 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; } //地图加载完成 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; } } }