예제 #1
0
        public bool execute()
        {
            int counter = 0;

            foreach (Element elem in elems)
            {
                //заполняю номер этажа для элементов, находящихся НА уровне
                Level baseLevel = LevelUtils.GetLevelOfElement(elem, doc);
                if (baseLevel != null)
                {
                    string floorNumber = LevelUtils.GetFloorNumberByUnderLevel(baseLevel, floorTextPosition, doc, splitChar);
                    if (floorNumber == null)
                    {
                        Print(string.Format("Не найден уровень с уровнем выше, равным: {0} при обработке элемента: {1} c id: {2}", baseLevel.Name, elem.Name, elem.Id.IntegerValue), KPLN_Loader.Preferences.MessageType.Regular);
                        continue;
                    }
                    Parameter floor = elem.LookupParameter(floorNumberParamName);
                    if (floor == null)
                    {
                        continue;
                    }
                    floor.Set(floorNumber);
                    counter++;
                }
            }
            Print("Обработано элементов: " + counter, KPLN_Loader.Preferences.MessageType.Success);
            return(true);
        }