コード例 #1
0
        internal static void EnsureSystemData(Connection _conn, ref Dictionary<string, ItemType> _itemTypes)
        {
            if (_itemTypes == null)
              {
            _itemTypes = new Dictionary<string, ItemType>();
            var itemTypes = _conn.GetItems("ApplyItem", Properties.Resources.ItemTypeData);
            ItemType result;
            foreach (var itemTypeData in itemTypes)
            {
              result = new ItemType();
              result.Id = itemTypeData.Attribute("id");
              result.IsCore = itemTypeData.Element("core").InnerText == "1";
              result.IsDependent = itemTypeData.Element("is_dependent").InnerText != "0";
              result.IsFederated = itemTypeData.Element("implementation_type").InnerText == "federated";
              result.IsPolymorphic = itemTypeData.Element("implementation_type").InnerText == "polymorphic";
              result.IsVersionable = itemTypeData.Element("is_versionable").InnerText != "0";
              result.Name = itemTypeData.Element("name").InnerText;
              result.Reference = ItemReference.FromFullItem(itemTypeData, true);
              _itemTypes[result.Name.ToLowerInvariant()] = result;
            }

            var relationships = _conn.GetItems("ApplyItem", Properties.Resources.RelationshipData);
            ItemType relType;
            foreach (var rel in relationships)
            {
              if (rel.Element("source_id").Attribute("name") != null
            && _itemTypes.TryGetValue(rel.Element("source_id").Attribute("name").ToLowerInvariant(), out result)
            && rel.Element("relationship_id").Attribute("name") != null
            && _itemTypes.TryGetValue(rel.Element("relationship_id").Attribute("name").ToLowerInvariant(), out relType))
              {
            result.Relationships.Add(relType);
              }
            }

            var floatProps = _conn.GetItems("ApplyItem", Properties.Resources.FloatProperties);
            foreach (var floatProp in floatProps)
            {
              if (_itemTypes.TryGetValue(floatProp.Element("source_id").Attribute("name").ToLowerInvariant(), out result))
              {
            result.FloatProperties.Add(floatProp.Element("name", ""));
              }
            }
              }
        }
コード例 #2
0
ファイル: ItemType.cs プロジェクト: Barnickle/InnovatorAdmin
 public bool Equals(ItemType obj)
 {
     return (this.Id ?? "").Equals(obj.Id);
 }