/// <summary> /// Initializes a new instance of the <see cref="JsonEntity" /> class. /// </summary> /// <param name="entityRef">The entity reference.</param> /// <param name="context">The context.</param> public JsonEntity(EntityRef entityRef, JsonEntityQueryResult context) : this() { JsonEntityRef eid = context.GetEntityRef(entityRef); if (!string.IsNullOrEmpty(entityRef.Alias) && eid.Alias != entityRef.Alias) { EventLog.Application.WriteWarning("EntityRef with id {0} using different aliases \"{1}\" <> \"{2}\"", eid.Id, eid.Alias, entityRef.Alias); } Id = eid.Id; }
/// <summary> /// Gets the entity reference. /// </summary> /// <param name="entityRef">The entity reference.</param> /// <returns></returns> public JsonEntityRef GetEntityRef(EntityRef entityRef) { JsonEntityRef jsonEntityRef = EntityRefs.FirstOrDefault(p => p.Id == entityRef.Id); if (jsonEntityRef == null) { jsonEntityRef = new JsonEntityRef(entityRef); EntityRefs.Add(jsonEntityRef); } return(jsonEntityRef); }
/// <summary> /// Initializes a new instance of the <see cref="JsonRelationshipData" /> class. /// </summary> /// <param name="relationshipData">The relationship data.</param> /// <param name="context">The context.</param> public JsonRelationshipData(RelationshipData relationshipData, JsonEntityQueryResult context) { RelTypeId = new JsonEntityRef { Id = relationshipData.RelationshipTypeId.Id, NameSpace = relationshipData.RelationshipTypeId.Namespace, Alias = relationshipData.RelationshipTypeId.Alias }; IsReverse = relationshipData.IsReverse; IsLookup = relationshipData.IsLookup; RemoveExisting = relationshipData.RemoveExisting; DeleteExisting = relationshipData.DeleteExisting; AutoCardinality = relationshipData.AutoCardinality; Instances = new List <JsonRelationshipInstanceData>( ); if (context != null) { foreach (RelationshipInstanceData instance in relationshipData.Instances) { Instances.Add(new JsonRelationshipInstanceData(instance, context)); } } }