Ejemplo n.º 1
0
        //添加对象事件处理
        //例如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();
        }
Ejemplo n.º 2
0
        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)
            {
            }
        }