public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { var loadOptions = new DataSourceLoadOptions(); DataSourceLoadOptionsParser.Parse(loadOptions, key => bindingContext.ValueProvider.GetValue(key)?.AttemptedValue); return(loadOptions); }
public void AllKeys() { var opts = new SampleLoadOptions(); var values = new Dictionary <string, string> { { DataSourceLoadOptionsParser.KEY_IS_COUNT_QUERY, "true" }, { DataSourceLoadOptionsParser.KEY_REQUIRE_TOTAL_COUNT, "true" }, { DataSourceLoadOptionsParser.KEY_REQUIRE_GROUP_COUNT, "true" }, { DataSourceLoadOptionsParser.KEY_SKIP, "42" }, { DataSourceLoadOptionsParser.KEY_TAKE, "43" }, { DataSourceLoadOptionsParser.KEY_SORT, @"[ { ""selector"": ""foo"", ""desc"": true } ]" }, { DataSourceLoadOptionsParser.KEY_GROUP, @"[ { ""selector"": ""g"" } ]" }, { DataSourceLoadOptionsParser.KEY_FILTER, @" [ ""foo"", ""bar"" ] " }, { DataSourceLoadOptionsParser.KEY_TOTAL_SUMMARY, @"[ { ""selector"": ""total"", ""summaryType"": ""min"" } ]" }, { DataSourceLoadOptionsParser.KEY_GROUP_SUMMARY, @"[ { ""selector"": ""group"", ""summaryType"": ""max"" } ]" } }; DataSourceLoadOptionsParser.Parse(opts, key => values[key]); Assert.True(opts.IsCountQuery); Assert.True(opts.RequireTotalCount); Assert.True(opts.RequireGroupCount); Assert.Equal(42, opts.Skip); Assert.Equal(43, opts.Take); Assert.Equal("foo", opts.Sort[0].Selector); Assert.True(opts.Sort[0].Desc); Assert.Equal("g", opts.Group[0].Selector); Assert.Equal(new[] { "foo", "bar" }, opts.Filter.Cast <string>()); Assert.Equal("total", opts.TotalSummary[0].Selector); Assert.Equal("min", opts.TotalSummary[0].SummaryType); Assert.Equal("group", opts.GroupSummary[0].Selector); Assert.Equal("max", opts.GroupSummary[0].SummaryType); }
private DataSourceLoadOptionsBase DxLoad(Func <string, string> valueSource) { var loadOptions = new DataSourceLoadOptionsBase(); DataSourceLoadOptionsParser.Parse(loadOptions, valueSource); return(loadOptions); }
public Task BindModelAsync(ModelBindingContext bindingContext) { var loadOptions = new DataSourceLoadOptions(); DataSourceLoadOptionsParser.Parse(loadOptions, key => bindingContext.ValueProvider.GetValue(key).FirstOrDefault()); bindingContext.Result = ModelBindingResult.Success(loadOptions); return(Task.CompletedTask); }
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext) { var loadOptions = new DataSourceLoadOptions(); DataSourceLoadOptionsParser.Parse(loadOptions, key => bindingContext.ValueProvider.GetValue(key)?.AttemptedValue); bindingContext.Model = loadOptions; return(true); }
public Task BindModelAsync(ModelBindingContext bindingContext) { DataSourceLoadOptions dataSourceLoadOptions = new DataSourceLoadOptions(); DataSourceLoadOptionsParser.Parse((DataSourceLoadOptionsBase)(object)dataSourceLoadOptions, (Func <string, string>)((string key) => bindingContext.ValueProvider.GetValue(key).FirstOrDefault())); bindingContext.Result = ModelBindingResult.Success(dataSourceLoadOptions); return(Task.FromResult(result: true)); }
public Task BindModelAsync(ModelBindingContext bindingContext) { CultureInfo.CurrentCulture = new CultureInfo("tr-TR", false); var loadOptions = new DataSourceLoadOptions(); loadOptions.StringToLower = true; DataSourceLoadOptionsParser.Parse(loadOptions, key => bindingContext.ValueProvider.GetValue(key).FirstOrDefault()); bindingContext.Result = ModelBindingResult.Success(loadOptions); return(Task.CompletedTask); }
public void MustNotParseDates() { var opts = new SampleLoadOptions(); DataSourceLoadOptionsParser.Parse(opts, key => { if (key == DataSourceLoadOptionsParser.KEY_FILTER) { return(@"[ ""d"", ""2011-12-13T14:15:16Z"" ]"); } return(null); }); Assert.IsType <string>(opts.Filter[1]); }
private DataSourceLoadOptionsBase GetOptionsFromQuery(string query) { DataSourceLoadOptionsBase options = new DataSourceLoadOptionsBase(); IDictionary <string, StringValues> myQUeryString = QueryHelpers.ParseQuery(query); DataSourceLoadOptionsParser.Parse(options, key => { if (myQUeryString.ContainsKey(key)) { return(myQUeryString[key]); } return(null); }); return(options); }
private DataSourceLoadOptions GetLoadParams() { DataSourceLoadOptions parameters = new DataSourceLoadOptions(); var requestValues = Request.GetQueryNameValuePairs(); DataSourceLoadOptionsParser.Parse(parameters, (key) => { var items = requestValues.Where(i => i.Key == key); if (items.Count() > 0) { return(items.FirstOrDefault().Value); } else { return(null); } }); parameters.PrimaryKey = new string[] { "OrderID" }; return(parameters); }
public Task BindModelAsync(ModelBindingContext bindingContext) { var loadOptions = new DataSourceLoadOptions(); DataSourceLoadOptionsParser.Parse(loadOptions, key => bindingContext.ValueProvider.GetValue(key).FirstOrDefault()); if (loadOptions.Filter != null) { for (int i = 0; i < loadOptions.Filter.Count; i++) { if (loadOptions.Filter[i] != null) { var Type = Regex.Unescape(loadOptions.Filter[i].GetType().ToString()); // SearchPanel if (Type == "Newtonsoft.Json.Linq.JArray") { JArray Temp = JArray.Parse(loadOptions.Filter[i].ToString()); Temp = JArray.Parse(Temp.ToString().Replace("ي", "ی").Replace("ك", "ک")); loadOptions.Filter[i] = Temp; } // FilterRow else { if (loadOptions.Filter[i].ToString().Contains("ي")) { loadOptions.Filter[i] = loadOptions.Filter[i].ToString().Replace("ي", "ی"); } if (loadOptions.Filter[i].ToString().Contains("ك")) { loadOptions.Filter[i] = loadOptions.Filter[i].ToString().Replace("ك", "ک"); } } } } } bindingContext.Result = ModelBindingResult.Success(loadOptions); return(Task.CompletedTask); }