| | |
| | | using HStation.PBS; |
| | | using DevExpress.DataProcessing.InMemoryDataProcessor; |
| | | using DevExpress.Utils.Extensions; |
| | | using PBS.Model; |
| | | using PBS.Vmo; |
| | | using Yw; |
| | | using Yw.DAL.PostgreSql; |
| | | using Yw.Vmo; |
| | | using Yw.WinFrmUI; |
| | | |
| | | namespace PBS.WinFrmUI |
| | |
| | | private SchoolWizardForm _schoolWizard; |
| | | private ShopWizardForm _shopWizard; |
| | | |
| | | public event Func<Vmo.PlaceVmo, Task<bool>> ReloadDataEvent; |
| | | public event Func<Vmo.PlaceVmo, Yw.Vmo.MapInfoVmo, Task<bool>> ReloadDataEvent; |
| | | |
| | | public async void SetBindingData(PlaceVmo placeVmo) |
| | | private Yw.WinFrmUI.MapSetSimpleMarkerContainer _map = new(); |
| | | |
| | | private Yw.Model.Map.Marker _maker = null; |
| | | private Yw.Vmo.MapInfoVmo _mapInfo = null; |
| | | |
| | | public async void SetBindingData(PlaceVmo placeVmo, MapInfoVmo mapInfo) |
| | | { |
| | | _mapInfo = mapInfo; |
| | | _placeVmo = placeVmo; |
| | | var list = await new Yw.BLL.Division().GetAll(); |
| | | this.treeList1.DataSource = list; |
| | |
| | | case ePlaceType.Build: |
| | | _buildWizard = new BuildWizardForm(); |
| | | _buildWizard.Dock = DockStyle.Fill; |
| | | _buildWizard.SetData(Yw.JsonHelper.Json2Object<PlaceBuildParasInfo>(_placeVmo.PlaceInfo)); |
| | | _buildWizard.SetData(PlaceBuildParasInfoVmo.ToModel(_placeVmo.PlaceInfo)); |
| | | this.panelControl1.Controls.Add(_buildWizard); |
| | | break; |
| | | |
| | | case ePlaceType.Hospital: |
| | | _hospitalWizard = new HospitalWizardForm(); |
| | | _hospitalWizard.Dock = DockStyle.Fill; |
| | | _hospitalWizard.SetData(Yw.JsonHelper.Json2Object<PlaceHospitalParasInfo>(_placeVmo.PlaceInfo)); |
| | | _hospitalWizard.SetData(PlaceHospitalParasInfoVmo.ToModel(_placeVmo.PlaceInfo)); |
| | | this.panelControl1.Controls.Add(_hospitalWizard); |
| | | break; |
| | | |
| | | case ePlaceType.Shop: |
| | | _shopWizard = new ShopWizardForm(); |
| | | _shopWizard.Dock = DockStyle.Fill; |
| | | _shopWizard.SetData(Yw.JsonHelper.Json2Object<PlaceShopParasInfo>(_placeVmo.PlaceInfo)); |
| | | _shopWizard.SetData(PlaceShopParasInfoVmo.ToModel(_placeVmo.PlaceInfo)); |
| | | this.panelControl1.Controls.Add(_shopWizard); |
| | | break; |
| | | |
| | | case ePlaceType.School: |
| | | _schoolWizard = new SchoolWizardForm(); |
| | | _schoolWizard.Dock = DockStyle.Fill; |
| | | _schoolWizard.SetData(Yw.JsonHelper.Json2Object<PlaceSchoolParasInfo>(_placeVmo.PlaceInfo)); |
| | | _schoolWizard.SetData(PlaceSchoolParasInfoVmo.ToModel(_placeVmo.PlaceInfo)); |
| | | this.panelControl1.Controls.Add(_schoolWizard); |
| | | break; |
| | | } |
| | | /* if (list != null && list.Count > 0) |
| | | { |
| | | foreach (var item in list) |
| | | { |
| | | var vm = new DivisionViewModel(item); |
| | | _allBindingList.Add(vm); |
| | | } |
| | | } |
| | | this.divisionViewModelBindingSource.DataSource = _allBindingList;*/ |
| | | _map.Dock = DockStyle.Fill; |
| | | _map.SetMarkerEvent += Map_SetMarkerEvent; |
| | | _map.LoadCompletedEvent += Map_LoadCompletedEvent; |
| | | await _map.InitialContainer(); |
| | | this.sidePanel1.AddControl(_map); |
| | | if (mapInfo != null) |
| | | { |
| | | _maker = Yw.Model.Map.Marker.ToModel(mapInfo.Position); |
| | | } |
| | | var allFlagsList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(DataType.PBSPlace); |
| | | this.setFlagsEditCtrl1.SetBindingData(allFlagsList?.Select(x => x.Name).Distinct().ToList(), null); |
| | | } |
| | | |
| | | //地图加载完成后 |
| | | private async void Map_LoadCompletedEvent() |
| | | { |
| | | if (_maker != null) |
| | | { |
| | | await _map.LoadMarker(_maker); |
| | | } |
| | | } |
| | | |
| | | private void Map_SetMarkerEvent(Yw.Model.Map.Marker obj) |
| | | { |
| | | _maker = obj; |
| | | } |
| | | |
| | | private bool Valid() |
| | |
| | | _placeVmo.Name = txtEditName.Text.Trim(); |
| | | _placeVmo.Address = textEditAddress.Text.Trim(); |
| | | _placeVmo.UseStatus = Yw.Vmo.eUseStatus.Enable; |
| | | _placeVmo.Flags = this.setFlagsEditCtrl1.SelectedFlagList; |
| | | _placeVmo.TagName = this.txtTagName.Text.Trim(); |
| | | _placeVmo.Description = memoEditDescription.Text.Trim(); |
| | | if (_mapInfo == null) |
| | | { |
| | | _mapInfo = new MapInfoVmo(); |
| | | _mapInfo.ObjectType = PBS.DataType.PBSPlace; |
| | | _mapInfo.ObjectID = _placeVmo.ID; |
| | | _mapInfo.ObjectName = _placeVmo.Name; |
| | | _mapInfo.Purpose = Yw.Map.Purpose.Location; |
| | | _mapInfo.Kind = Yw.Map.Kind.Gaodei; |
| | | _mapInfo.Shape = Yw.Map.Shape.Marker; |
| | | } |
| | | if (_maker != null) |
| | | { |
| | | _mapInfo.Position = _maker.ToJson(); |
| | | } |
| | | |
| | | if (this.txtEditRegion.EditValue != null) |
| | | { |
| | | _placeVmo.RegionID = Convert.ToInt64(this.txtEditRegion.EditValue); |
| | | } |
| | | if (await ReloadDataEvent.Invoke(_placeVmo)) |
| | | if (await ReloadDataEvent.Invoke(_placeVmo, _mapInfo)) |
| | | { |
| | | TipFormHelper.ShowSucceed("修改成功!"); |
| | | } |