コード例 #1
0
        public static ODataQueryOptions CreateOptionsFromQueryString(this ODataQueryContext context, IDictionary <string, string> queryString)
        {
            //Create request
            var url = "http://autoPocoInternalOdata.com/site?";

            foreach (var param in queryString)
            {
                url += param.Key + "=" + param.Value + "&";
            }
            url = url.Trim('?').Trim('&');

            Uri uri    = new Uri(url);
            var config = new System.Web.Http.HttpConfiguration();

            config.EnableDependencyInjection();
            config.Count().Filter().OrderBy().Expand().Select().MaxTop(1000);

            var request = new HttpRequestMessage
            {
                RequestUri = uri
            };

            request.SetConfiguration(config);

            return(new ODataQueryOptions(context, request));
        }
コード例 #2
0
        public void TestInitialize()
        {
            httpRequestMessage = new HttpRequestMessage
            {
                Method = HttpMethod.Get
            };
            var config = new System.Web.Http.HttpConfiguration();

            config.EnableDependencyInjection();
            httpRequestMessage.SetConfiguration(config);
        }
コード例 #3
0
        public static ODataConventionModelBuilder ConfigureConventionBuilder()
        {
            var config = new System.Web.Http.HttpConfiguration();

            config.EnableDependencyInjection();
            config.Count().Filter().OrderBy().Expand().Select().MaxTop(1000);

            var modelBuilder = new ODataConventionModelBuilder(config, true);

            return(modelBuilder);
        }
コード例 #4
0
        public void UnitTestOptionsOfStringShouldWork()
        {
            ODataQueryOptionsController controller = new ODataQueryOptionsController();

            ODataQueryContext  context = new ODataQueryContext(new ODataConventionModelBuilder().GetEdmModel(), typeof(string), path: null);
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/?$top=1");

            System.Web.Http.HttpConfiguration configuration = new System.Web.Http.HttpConfiguration();
            configuration.EnableDependencyInjection();
            request.SetConfiguration(configuration);
            ODataQueryOptions <string> options = new ODataQueryOptions <string>(context, request);
            var result = controller.OptionsWithString(options);

            Assert.Equal("One", result.List.Single());
        }
コード例 #5
0
        public void UnitTestOptionsShouldWork()
        {
            ODataQueryOptionsController controller = new ODataQueryOptionsController();

            ODataQueryContext  context = new ODataQueryContext(GetEdmModel(new ODataConventionModelBuilder()), typeof(ODataQueryOptions_Todo), path: null);
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/?$orderby=Name desc");

            System.Web.Http.HttpConfiguration configuration = new System.Web.Http.HttpConfiguration();
            configuration.EnableDependencyInjection();
            request.SetConfiguration(configuration);
            ODataQueryOptions <ODataQueryOptions_Todo> options = new ODataQueryOptions <ODataQueryOptions_Todo>(context, request);
            var result = controller.OptionsOnString(options);

            Assert.Equal("Test99", result);
        }