示例#1
0
        public dynamic Execute(dynamic parameters, INancyModule module)
        {
            string feedName = parameters.feed;
            var    feed     = GetFeedModel(feedName);

            if (feed == null)
            {
                var response = module.Response.AsText("Feed does not exist.");
                response.StatusCode = HttpStatusCode.BadRequest;
                return(response);
            }

            IDictionary <string, object> queryDictionary = module.Request.Query;

            RemoveSelectParamFromQuery(queryDictionary);
            AddAdditionalQueryParams(queryDictionary);

            NuGetODataModelBuilderQueryable builder = new NuGetODataModelBuilderQueryable();

            builder.Build();

            var url = module.Request.Url.SiteBase + module.Request.Url.Path;

            url = ProcessQueryAndRegenerateUrl(queryDictionary, url);

            HttpMethod method  = new HttpMethod(module.Request.Method);
            var        request = new HttpRequestMessage(method, url);

            ListExtensions.AddRange(request.Properties, queryDictionary);

            var context = new ODataQueryContext(builder.Model, typeof(IInternalPackage));

            using (var dbContext = new DatabaseContext(Store))
            {
                var ds = CreateQuery(dbContext, queryDictionary, feed);

                ds = ExecuteQuery(context, request, ds);

                return(ProcessResponse(module, request, feed, ds));
            }
        }
 public void AddRangeNullTest2()
 {
     ListExtensions.AddRange(new List <string> {
         "foobar"
     }, null);
 }
 public void AddRangeNullTest1()
 {
     ListExtensions.AddRange(null, new List <string> {
         "foobar"
     });
 }