//添加对象事件处理 //例如MonProject、MonGroup之类, //添加Tree,添加Obj //返回tree,返回Obj,更新 public async void DGObjectListener(object sender, DGObject model) { if (menuItem.Tag.ToString() == "Common") { TreeDefinition def = await CommonRepo.AddProjectTree(Globals.project.projectID, _domain, menuBase.TargetObjType, model.ID, 0); _treeDefinitions.Add(def); } else { TreeDefinition item = DomainTreeView.SelectedItem as TreeDefinition; TreeDefinition def = await CommonRepo.AddProjectTree(Globals.project.projectID, _domain, menuBase.TargetObjType, model.ID, item.ID); if (item.Chillds == null) { item.Chillds = new ObservableCollection <TreeDefinition>(); } item.Chillds.Add(def); } Domain domain = Globals.project.getDomain(_domain); domain.objectsDefinitions = await CommonRepo.GetObjectsDefinition(Globals.project.projectID, domain.name); domain.DGObjectsList = new List <DGObjects>(); foreach (ObjectsDefinition definition in domain.objectsDefinitions) { domain.DGObjectsList.Add(new DGObjects() { parent = domain, definition = definition, }); } commonPropertyWin.DGObjectHandler -= DGObjectListener; commonPropertyWin.Close(); }
public async Task LoadProject(string definitionFile) { try { if (definitionFile == null || definitionFile.Length == 0) { return; } _prj = new Project() { projectID = projectID }; _prj.projectInfo = await CommonRepo.GetProjectInfo(_prj.projectID); _prj.domains = await CommonRepo.GetDomains(_prj.projectID); _prj.emaps = await CommonRepo.GetEMaps(_prj.projectID); Globals.project = _prj; foreach (Domain domain in _prj.domains) { try { domain.objectsDefinitions = await CommonRepo.GetObjectsDefinition(_prj.projectID, domain.name); domain.DGObjectsList = new List <DGObjects>(); foreach (ObjectsDefinition definition in domain.objectsDefinitions) { if ((definition.Layer3DName == null) || (definition.Layer3DName == "")) { definition.Layer3DName = definition.Domain + "/" + definition.Type; } DGObjects objs = new DGObjects() { parent = domain, definition = definition, }; domain.DGObjectsList.Add(objs); objs.objContainer = await RepositoryForClient.RetrieveObjs(objs); _prj.objsDefIndex[definition.Name] = objs; } } catch (Exception ex) { // MessageBox.Show(ex.ToString()); } } loadDomainPanels(); await LoadViews(); if (projectLoaded != null) { projectLoaded(this, EventArgs.Empty); } ViewHolder.SelectedIndex = 1; } catch (Exception ex) { } }