示例#1
0
        ObjectDatabase ToObjDb()
        {
            ObjectDatabase res = new ObjectDatabase();

            foreach (var entry in Objs)
            {
                string desc = "";

                if (entry.Value.LinkedObjs != null)
                {
                    desc = "can contain links ";
                    foreach (var e in entry.Value.LinkedObjs)
                    {
                        desc += e.Key + " [" + string.Join(";", e.Value) + "] ";
                    }
                }

                if (entry.Value.ArrWarn != null)
                {
                    desc += "Can contain array nodes [" + string.Join(";", entry.Value.ArrWarn) + "] ";
                }

                if (entry.Value.DictWarn != null)
                {
                    desc += "Can contain dictionary nodes [" + string.Join(";", entry.Value.DictWarn) + "] ";
                }

                desc = desc.Trim();
                if (desc == "")
                {
                    desc = null;
                }

                res.Add(entry.Key,
                        new ObjectDatabaseEntry()
                {
                    Properties          = entry.Value.Properties.Count == 0 ? null : entry.Value.Properties,
                    Description         = desc,
                    ParameterConfigName = entry.Value.ParameterConfigName,
                    ModelNames          = entry.Value.ModelNames.Count == 0 ? null : entry.Value.ModelNames.ToArray()
                });
            }
            return(res);
        }