public static void MapClrIdToDomResource(this IResourceType resourceType, DomReadWriteResource domResource, object clrResource) { Contract.Requires(resourceType != null); Contract.Requires(domResource != null); if (clrResource == null) { return; } domResource.CreateAndAddNode(() => DomId.CreateFromClrResource(resourceType, clrResource)); }
internal DomId SetDomIdFromClrResourceId <TResourceId>(IResourceType resourceType, TResourceId clrResourceId) { Contract.Requires(resourceType != null); // Validation this.ValidateIdDoesNotExist(); // Add the one allowed DOM identifier node to the DOM resource. var domId = this.CreateAndAddNode(() => DomId.CreateFromClrResourceId(resourceType, clrResourceId)); return(domId); }
public static DomId CreateFromClrResourceId <TResourceId>(IResourceType resourceType, TResourceId clrResourceId) { Contract.Requires(resourceType != null); var resourceIdentity = resourceType.ResourceIdentityInfo; var apiId = resourceIdentity.ToApiId(clrResourceId); var clrId = resourceIdentity.ToClrId(clrResourceId); var clrPropertyName = resourceIdentity.Id.ClrPropertyName; var clrPropertyType = resourceIdentity.Id.ClrPropertyType; var domId = new DomId(apiId, clrId, clrPropertyName, clrPropertyType); return(domId); }
// PUBLIC METHODS /////////////////////////////////////////////////// #region Factory Methods public static DomId CreateFromApiResourceIdentity(IResourceType resourceType, IGetResourceIdentity apiResourceIdentity) { Contract.Requires(resourceType != null); Contract.Requires(apiResourceIdentity != null); var apiId = apiResourceIdentity.Id; var resourceIdentity = resourceType.ResourceIdentityInfo; var clrId = resourceIdentity.ToClrId(apiId); var clrPropertyName = resourceIdentity.Id.ClrPropertyName; var clrPropertyType = resourceIdentity.Id.ClrPropertyType; var domId = new DomId(apiId, clrId, clrPropertyName, clrPropertyType); return(domId); }
public static DomId CreateFromClrResource(IResourceType resourceType, object clrResource) { Contract.Requires(resourceType != null); Contract.Requires(clrResource != null); var resourceIdentity = resourceType.ResourceIdentityInfo; var apiId = resourceIdentity.GetApiId(clrResource); var clrId = resourceIdentity.GetClrId(clrResource); var clrPropertyName = resourceIdentity.GetClrIdPropertyName(); var clrPropertyType = resourceIdentity.GetClrIdPropertyType(); var domId = new DomId(apiId, clrId, clrPropertyName, clrPropertyType); return(domId); }