Ejemplo n.º 1
0
        /// <summary>
        /// Sets the item.
        /// </summary>
        /// <param name="pi">The pi.</param>
        protected void setItem(PropertyInfo pi)
        {
            basicDisplayItem displayInfo = new basicDisplayItem(pi);

            bdis.Add(pi, displayInfo);

            if (displayGroup == null)
            {
                displayGroup = displayGroups["Main"];
            }

            if (displayInfo.attributes.ContainsKey(imbAttributeName.measure_displayGroup))
            {
                displayGroup = displayGroups[displayInfo.attributes.getMessage(imbAttributeName.measure_displayGroup, "Main")];

                if (displayGroup.description.isNullOrEmptyString())
                {
                    displayGroup.description = displayInfo.attributes.getMessage(imbAttributeName.measure_displayGroupDescripton, ".");
                }
            }
            else
            {
                //pi.getAttributeValueOrDefault<DescriptionAttribute>(displayGroup, pi)
            }

            Int32 priority = displayInfo.attributes.getMessage <Int32>(imbAttributeName.viewPriority, 100);

            calcGroupId = displayInfo.attributes.getMessage <Int32>(imbAttributeName.measure_calcGroup, calcGroupId);

            Object tmp = pi.PropertyType.getInstance();

            if (tmp is IObjectWithNameAndDescription)
            {
                IObjectWithNameAndDescription tmp_IObjectWithName = (IObjectWithNameAndDescription)tmp;
                tmp_IObjectWithName.name        = displayInfo.displayName;
                tmp_IObjectWithName.description = displayInfo.description;
            }

            if (tmp is IValueWithImportanceInfo)
            {
                IValueWithImportanceInfo tmp_IValueWithImportanceInfo = (IValueWithImportanceInfo)tmp;
                tmp_IValueWithImportanceInfo.relevance = displayInfo.attributes.getMessage <dataPointImportance>(imbAttributeName.measure_important, dataPointImportance.normal);
            }

            if (tmp is IMeasure)
            {
                IMeasure im = (IMeasure)tmp;

                im.isAlarmTurnedOn = displayInfo.attributes.ContainsKey(imbAttributeName.measure_setAlarm);
                im.valueRange.setValueRange(displayInfo.attributes.getMessage <aceRangeConfig>(imbAttributeName.measure_setRange));
                im.alarmCriteria.setCriteria(displayInfo.attributes.getMessage <aceCriterionConfig>(imbAttributeName.measure_setAlarm));

                im.metaModelName   = displayInfo.attributes.getMessage(imbAttributeName.measure_metaModelName, im.name);
                im.metaModelPrefix = displayInfo.attributes.getMessage(imbAttributeName.measure_metaModelPrefix, "MN");

                im.doUnitOptimization = displayInfo.attributes.getMessage <Boolean>(imbAttributeName.measure_optimizeUnit, false);

                Tuple <Enum, String, String, String, String> tup = displayInfo.attributes.getMessageObj(imbAttributeName.measure_setRole) as Tuple <Enum, String, String, String, String>;
                if (tup != null)
                {
                    //im.setCustomRoleEntry(bDI.attributes.getMessageObj(imbAttributeName.measure_setRole) as Tuple<Enum, String, String, String, String>)
                    im.info.unit = im.getUnitEntry(displayInfo.attributes.getMessage <measureSystemUnitEntry>(imbAttributeName.measure_setUnit));
                    im.info.role = im.getRoleEntry(displayInfo.attributes.getMessage <measureSystemUnitEntry>(imbAttributeName.measure_setRole));
                }

                //displayGroup.AddAtEnd(im);

                //calcGroups[calcGroupId].AddAtEnd(im);
            }

            //Add(pi.Name, tmp);
        }