internal static Uri BuildLinkUri(LinkDescriptorData linkDescriptorData, LinkInfoData info) { Uri linkUri; if (info != null && info.RelationshipLink != null) { linkUri = info.RelationshipLink; } else { ExceptionUtilities.CheckObjectNotNull(linkDescriptorData.SourceDescriptor.EditLink, "Edit link of source descriptor cannot be null"); linkUri = new Uri(UriHelpers.ConcatenateUriSegments(linkDescriptorData.SourceDescriptor.EditLink.OriginalString, Endpoints.Ref, linkDescriptorData.SourcePropertyName), UriKind.RelativeOrAbsolute); } return(linkUri); }
private HttpRequestData CreateSetLinkRequest(LinkDescriptorData linkDescriptorData, LinkInfoData info) { HttpVerb verb; if (linkDescriptorData.TargetDescriptor == null) { verb = HttpVerb.Delete; } else { verb = HttpVerb.Put; } return(new HttpRequestData() { Uri = this.GetLinkUri(linkDescriptorData, info), Verb = verb }); }
private HttpRequestData CreateDeleteLinkRequest(LinkDescriptorData linkDescriptorData, LinkInfoData info) { string keyString = this.EntityDescriptorValueCalculator.CalculateEntityKey(linkDescriptorData.TargetDescriptor.Entity); return(new HttpRequestData() { Uri = new Uri(this.GetLinkUri(linkDescriptorData, info).OriginalString + keyString), Verb = HttpVerb.Delete }); }
private HttpRequestData CreateAddLinkRequest(LinkDescriptorData linkDescriptorData, LinkInfoData info) { return(new HttpRequestData() { Uri = this.GetLinkUri(linkDescriptorData, info), Verb = HttpVerb.Post }); }