using HydroUI; namespace PBS.WinFrmUI.Hydro { public partial class ModelEditPage : DocumentPage { public ModelEditPage() { InitializeComponent(); this.facilityTreeListCtrl1.SelectFacilityEvent += FacilityTreeListCtrl1_SelectFacilityEvent; ; this.facilityTreeListCtrl1.RefreshDataEvent += () => { RefreshData(); }; } private FacilityVmo _facility = null; private Template _template = null; private MapViewer _mapView; private PropertyForm _propertyForm; private bool _isInitial = false; /// /// 初始化数据源 /// public override async void InitialDataSource() { var overlay = this.ShowOverlay(); base.InitialDataSource(); if (!_isInitial) { InitialMapViewer(); _isInitial = true; } var allFacilityList = await BLLFactory.Instance.GetAll(); this.facilityTreeListCtrl1.SetBindingData(allFacilityList); overlay.Close(); } //选择设施 private void FacilityTreeListCtrl1_SelectFacilityEvent(FacilityVmo obj) { InitialData(obj); } /// /// 初始化数据 /// public void InitialData(FacilityVmo obj) { if (obj == null) { _facility = null; _template = null; _mapView.Clear(); return; } if (string.IsNullOrEmpty(obj.ModelPath)) { var fullPath = Path.Combine(Directory.GetCurrentDirectory(), "Data\\Inp\\" + obj.ID + ".inp"); var directoryPath = Path.GetDirectoryName(fullPath); if (!Directory.Exists(directoryPath)) Directory.CreateDirectory(directoryPath); File.Create(fullPath).Close(); obj.ModelPath = fullPath; } if (string.IsNullOrEmpty(obj.ModelInfo)) { var templateTemp = new Template() { ID = obj.ID.ToString(), Name = obj.Name, Type = eModelTemplateType.Custom, filePath = obj.ModelPath, }; obj.ModelInfo = Yw.JsonHelper.Object2Json(templateTemp); } _facility = obj; _template = Yw.JsonHelper.Json2Object