Exemple #1
0
        /// <summary>
        /// Generates extra request operations
        /// </summary>
        /// <param name="requestManager">RequestManager to build the operations.</param>
        /// <param name="baseUri">Base uri for the operations</param>
        /// <returns>An array of request operations.</returns>
        public static IMimePart[] ExtraRequestOperations(IODataRequestManager requestManager, ODataUri baseUri)
        {
            ExceptionUtilities.CheckArgumentNotNull(requestManager, "requestManager");
            ExceptionUtilities.CheckArgumentNotNull(baseUri, "baseUri");

            var headers = new Dictionary <string, string> {
                { "RequestHeader", "RequestHeaderValue" }
            };
            string mergeContentType      = HttpUtilities.BuildContentType(MimeTypes.ApplicationXml, Encoding.UTF8.WebName, null);
            List <IHttpRequest> requests = new List <IHttpRequest>();

            requests.Add(requestManager.BuildRequest(baseUri, HttpVerb.Get, headers));
            var segments = baseUri.Segments;

            ODataUriSegment[] segmentstoadd =
            {
                ODataUriBuilder.EntitySet(new EntitySet("Set1")),
                ODataUriBuilder.EntityType(new EntityType("EntityType")),
                ODataUriBuilder.EntitySet(new EntitySet("Set2")),
                ODataUriBuilder.EntityType(new EntityType("EntityType2")),
            };

            foreach (var segment in segmentstoadd)
            {
                requests.Add(requestManager.BuildRequest(new ODataUri(segments.ConcatSingle(segment)), HttpVerb.Get, headers));
            }

            return(requests.ToArray());
        }
        private ODataUri GenerateEntityEditLinkUri(EntitySet entitySet, EntityType entityType, IEnumerable <NamedValue> keyValues)
        {
            // null checks performed by ODataUriBuilder
            var conventionalEditLink = this.GenerateEntityIdUri(entitySet, entityType, keyValues);

            if (EditLinkShouldContainTypeSegment(entitySet, entityType))
            {
                conventionalEditLink.Segments.Add(ODataUriBuilder.EntityType(entityType));
            }

            return(conventionalEditLink);
        }