Esempio n. 1
0
        /// <summary>
        /// Помещения на текущкю диаграмму выбранных узлов и устройств
        /// </summary>
        /// <returns></returns>
        public ExecResult <Boolean> PutNodesDevicesOnDiagram(string location)
        {
            ExecResult <Boolean> result = new ExecResult <bool>();

            try
            {
                if (!Context.CheckCurrentDiagram())
                {
                    throw new Exception("Не установлена или не открыта текущая диаграмма");
                }

                // получаем список библиотечных элементов нужного типа
                List <NodeData> nodeDataList = LibraryHelper.GetNodeData(new List <ComponentLevel>()
                {
                    ComponentLevel.Device, ComponentLevel.Node
                });

                // показываем список на форме для отмечания
                ExecResult <List <NodeData> > ndSelectresult = new FSelectNodesAndDevices().Execute(nodeDataList);
                if (ndSelectresult.code != 0)
                {
                    return(result);
                }

                // что на форме наотмечали, помещаем на диаграмму
                foreach (NodeData nodeData in ndSelectresult.value)
                {
                    Context.Designer.PutElementOnDiagram(nodeData.Element);
                }

                Context.EARepository.ReloadDiagram(Context.CurrentDiagram.DiagramID);
            }
            catch (Exception ex)
            {
                result.setException(ex);
            }

            return(result);
        }