Exemple #1
0
        private MetaOutput BuildMetaOutput(MetaManager metaManager, JToken jsonOutput)
        {
            var metaInstanceID = Guid.Parse(jsonOutput["MetaInstanceID"].Value <string>());
            var name           = jsonOutput["Name"].Value <string>();
            var metaIDOfOpPart = Guid.Parse(jsonOutput["MetaID"].Value <string>());
            var opPart         = metaManager.GetMetaOperatorPart(metaIDOfOpPart);

            return(new MetaOutput(metaInstanceID, name, opPart));
        }
Exemple #2
0
        private MetaInput BuildMetaInput(MetaManager metaManager, JToken jsonInput)
        {
            var metaInstanceID = Guid.Parse(jsonInput["MetaInstanceID"].Value <string>());
            var name           = jsonInput["Name"].Value <string>();
            var metaIDOfOpPart = Guid.Parse(jsonInput["MetaID"].Value <string>());
            var opPart         = metaManager.GetMetaOperatorPart(metaIDOfOpPart);

            // read default value - can be multi line value
            var defaultValueString = string.Empty;
            var defaultValueEntry  = jsonInput["DefaultValue"]["Value"];

            if (defaultValueEntry is JValue)
            {
                defaultValueString = defaultValueEntry.Value <string>();
            }
            else
            {
                var lines = new List <String>();
                foreach (var valueLine in defaultValueEntry)
                {
                    lines.Add(valueLine.Value <string>());
                }
                defaultValueString = string.Join("\n", lines);
            }
            var defaultValue = ValueUtilities.CreateValue(jsonInput["DefaultValue"]["Type"].Value <string>(), defaultValueString);

            var isMultiInput = jsonInput["IsMultiInput"].Value <bool>();
            var relevance    = (MetaInput.RelevanceType)Enum.Parse(typeof(MetaInput.RelevanceType), jsonInput["Relevance"].Value <string>());
            var description  = jsonInput["Description"].Value <string>();

            var min       = jsonInput["Min"].Value <float>();
            var max       = jsonInput["Max"].Value <float>();
            var scale     = jsonInput["Scale"].Value <float>();
            var scaleType = (MetaInput.Scaling)Enum.Parse(typeof(MetaInput.Scaling), jsonInput["ScaleType"].Value <string>());

            var enumEntries = (from enumEntry in jsonInput["EnumValues"]
                               let metaOpPart = BuildEnumEntry(enumEntry)
                                                select metaOpPart).ToList();

            return(new MetaInput(metaInstanceID, name, opPart, defaultValue, isMultiInput)
            {
                Relevance = relevance,
                Description = description,
                Min = min,
                Max = max,
                Scale = scale,
                ScaleType = scaleType,
                EnumValues = enumEntries
            });
        }