private static string constructUri(Uri baseUri, string resourceType, string id, string versionId, ResourceIdentityForm form) { if (form == ResourceIdentityForm.AbsoluteRestUrl || form == ResourceIdentityForm.RelativeRestUrl) { if (baseUri == null) { return versionId != null ? string.Format("{0}/{1}/{2}/{3}", resourceType, id, TransactionBuilder.HISTORY, versionId) : string.Format("{0}/{1}", resourceType, id); } else { if (versionId != null) return construct(baseUri, resourceType, id, TransactionBuilder.HISTORY, versionId); else return construct(baseUri, resourceType, id); } } else if (form == ResourceIdentityForm.Urn) { return baseUri + id; } else if (form == ResourceIdentityForm.Local) { return "#" + id; } else { throw Error.NotImplemented("Unsupported uri kind " + form.ToString()); } }
private ResourceIdentity(Uri baseUri, string resourceType, string id, string versionId, ResourceIdentityForm form) : base(constructUri(baseUri, resourceType, id, versionId, form), UriKind.RelativeOrAbsolute) { BaseUri = baseUri; ResourceType = resourceType; Id = id; VersionId = versionId; Form = form; }
private static string constructUri(Uri baseUri, string resourceType, string id, string versionId, ResourceIdentityForm form) { if (form == ResourceIdentityForm.AbsoluteRestUrl || form == ResourceIdentityForm.RelativeRestUrl) { if (baseUri == null) { return(versionId != null? string.Format("{0}/{1}/{2}/{3}", resourceType, id, TransactionBuilder.HISTORY, versionId) : string.Format("{0}/{1}", resourceType, id)); } else { if (versionId != null) { return(construct(baseUri, resourceType, id, TransactionBuilder.HISTORY, versionId)); } else { return(construct(baseUri, resourceType, id)); } } } else if (form == ResourceIdentityForm.Urn) { return(baseUri + id); } else if (form == ResourceIdentityForm.Local) { return("#" + id); } else { throw Error.NotImplemented("Unsupported uri kind " + form.ToString()); } }
private ResourceIdentity(Uri baseUri, string resourceType, string id, string versionId, ResourceIdentityForm form) : base(constructUri(baseUri,resourceType,id,versionId, form), UriKind.RelativeOrAbsolute) { BaseUri = baseUri; ResourceType = resourceType; Id = id; VersionId = versionId; Form = form; }