Пример #1
0
        internal RemoteParameter(ElementType type, Parameter parameter, Units units)
        {
            Name  = parameter.Definition.Name;
            Type  = parameter.Definition.ParameterType.ToString();
            Value = string.Empty;

            if (parameter.StorageType == StorageType.Double)
            {
                UnitType        utype = parameter.Definition.UnitType;
                DisplayUnitType dunit = units.GetFormatOptions(utype).DisplayUnits;
                Value = UnitUtils.ConvertFromInternalUnits(parameter.AsDouble(), dunit).ToString();
            }
            else if (parameter.StorageType == StorageType.Integer)
            {
                if (parameter.Definition.ParameterType.ToString() == "YesNo")
                {
                    int b = parameter.AsInteger();

                    if (b == 0)
                    {
                        Value = "No";
                    }
                    else
                    {
                        Value = "Yes";
                    }
                }
                else
                {
                    Value = parameter.AsInteger().ToString();
                }
            }
            else if (parameter.StorageType == StorageType.String)
            {
                Value = parameter.AsString();
            }
            else if (parameter.StorageType == StorageType.ElementId && parameter.Definition.ParameterType == ParameterType.Material)
            {
                ElementId id          = parameter.AsElementId();
                string    elementname = "";
                if (id.ToString() != "-1")
                {
                    elementname = type.Document.GetElement(id).Name;
                }
                Value = elementname;
            }
        }