using HStation.PBS; using PBS.Model; using PBS.Vmo; using Yw.WinFrmUI; namespace PBS.WinFrmUI { public partial class EditPlaceDlg : DevExpress.XtraEditors.XtraForm { public EditPlaceDlg() { 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; public event Func> ReloadDataEvent; public async void SetBindingData(PlaceVmo placeVmo) { _placeVmo = placeVmo; var list = await new Yw.BLL.Division().GetAll(); this.treeList1.DataSource = list; this.txtEditName.EditValue = _placeVmo.Name; this.txtEditRegion.EditValue = _placeVmo.RegionID; this.textEditAddress.EditValue = _placeVmo.Address; switch (_placeVmo.PlaceType) { case ePlaceType.Build: _buildWizard = new BuildWizardForm(); _buildWizard.Dock = DockStyle.Fill; _buildWizard.SetData(Yw.JsonHelper.Json2Object(_placeVmo.PlaceInfo)); this.panelControl1.Controls.Add(_buildWizard); break; case ePlaceType.Hospital: _hospitalWizard = new HospitalWizardForm(); _hospitalWizard.Dock = DockStyle.Fill; _hospitalWizard.SetData(Yw.JsonHelper.Json2Object(_placeVmo.PlaceInfo)); this.panelControl1.Controls.Add(_hospitalWizard); break; case ePlaceType.Shop: _shopWizard = new ShopWizardForm(); _shopWizard.Dock = DockStyle.Fill; _shopWizard.SetData(Yw.JsonHelper.Json2Object(_placeVmo.PlaceInfo)); this.panelControl1.Controls.Add(_shopWizard); break; case ePlaceType.School: _schoolWizard = new SchoolWizardForm(); _schoolWizard.Dock = DockStyle.Fill; _schoolWizard.SetData(Yw.JsonHelper.Json2Object(_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;*/ } 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; if (this.txtEditRegion.EditValue != null) { _placeVmo.RegionID = Convert.ToInt64(this.txtEditRegion.EditValue); } if (await ReloadDataEvent.Invoke(_placeVmo)) { TipFormHelper.ShowSucceed("修改成功!"); } else { TipFormHelper.ShowError("修改失败!"); } this.Close(); } } }