using DevExpress.DataProcessing.InMemoryDataProcessor; using DevExpress.Utils.Extensions; using System.Windows.Media.Animation; using Yw.WinFrmUI; namespace PBS.WinFrmUI { public partial class AddPlaceDlg : DevExpress.XtraEditors.XtraForm { public AddPlaceDlg() { InitializeComponent(); this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; ; } private Vmo.PlaceVmo _placeVmo; private ePlaceType _sign; private BuildWizardForm _buildWizard; private HospitalWizardForm _hospitalWizard; private SchoolWizardForm _schoolWizard; private ShopWizardForm _shopWizard; private Yw.Vmo.MapInfoVmo _mapInfo; public event Func> ReloadDataEvent; public async void SetBindingData(ePlaceType placeType) { _mapInfo = new Yw.Vmo.MapInfoVmo(); _placeVmo = new Vmo.PlaceVmo(); _placeVmo.PlaceType = placeType; _sign = placeType; switch (placeType) { case ePlaceType.Build: _buildWizard = new BuildWizardForm(); _buildWizard.Dock = DockStyle.Fill; this.panelControl1.Controls.Add(_buildWizard); break; case ePlaceType.Hospital: _hospitalWizard = new HospitalWizardForm(); _hospitalWizard.Dock = DockStyle.Fill; this.panelControl1.Controls.Add(_hospitalWizard); break; case ePlaceType.Shop: _shopWizard = new ShopWizardForm(); _shopWizard.Dock = DockStyle.Fill; this.panelControl1.Controls.Add(_shopWizard); break; case ePlaceType.School: _schoolWizard = new SchoolWizardForm(); _schoolWizard.Dock = DockStyle.Fill; this.panelControl1.Controls.Add(_schoolWizard); break; } var list = await new Yw.BLL.Division().GetAll(); this.treeListLookUpEdit1TreeList.DataSource = list; var map = new Yw.WinFrmUI.MapSetSimpleMarkerContainer(); map.Dock = DockStyle.Fill; map.SetMarkerEvent += Map_SetMarkerEvent; await map.InitialContainer(); this.sidePanel1.AddControl(map); } //更改点后 private void Map_SetMarkerEvent(Yw.Model.Map.Marker obj) { _mapInfo.Position = obj.ToJson(); } private bool Valid() { bool isExist = true; this.dxErrorProvider1.ClearErrors(); if (string.IsNullOrEmpty(this.txtEditName.Text.Trim())) { this.dxErrorProvider1.SetError(this.txtEditName, "必填项"); isExist = false; } return isExist; } /// /// 确定 /// private async void GeneralOkAndCancelCtrl1_OkEvent() { if (!Valid()) return; switch (_sign) { case ePlaceType.Build: _placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_buildWizard.GetData()); break; case ePlaceType.Shop: _placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_shopWizard.GetData()); break; case ePlaceType.Hospital: _placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_hospitalWizard.GetData()); break; case ePlaceType.School: _placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_schoolWizard.GetData()); break; } _placeVmo.Name = txtEditName.Text.Trim(); _placeVmo.Address = textEditAddress.Text.Trim(); _placeVmo.UseStatus = Yw.Vmo.eUseStatus.Enable; _mapInfo.ObjectType = PBS.DataType.PBSPlace; _mapInfo.ObjectName = _placeVmo.Name; _mapInfo.Purpose = Yw.Map.Purpose.Location; _mapInfo.Kind = Yw.Map.Kind.Gaodei; _mapInfo.Shape = Yw.Map.Shape.Marker; if (this.txtEditRegion.EditValue != null) { _placeVmo.RegionID = Convert.ToInt64(this.txtEditRegion.EditValue); } if (await ReloadDataEvent.Invoke(_placeVmo, _mapInfo)) { TipFormHelper.ShowSucceed("新增成功!"); } else { TipFormHelper.ShowError("新增失败!"); } this.Close(); } } }