/// <summary> /// /// </summary> /// <param name="resourceTable"></param> /// <param name="jsonqlIncluder"></param> /// <param name="jsonqlLinqer"></param> /// <param name="jsonqlEvaluator"></param> public QueryHandler(ResourceTable resourceTable, IJsonqlIncluder jsonqlIncluder, IJsonqlLinqer jsonqlLinqer, IJsonqlEvaluator jsonqlEvaluator) { this.resourceTable = resourceTable ?? throw new ArgumentNullException(nameof(resourceTable)); this.jsonqlIncluder = jsonqlIncluder; this.jsonqlLinqer = jsonqlLinqer; this.jsonqlEvaluator = jsonqlEvaluator; }
/// <summary> /// /// </summary> /// <param name="orderedQueryable"></param> /// <param name="jsonqlIncluder"></param> /// <param name="jsonqlLinqer"></param> public Resource_Ordered(IOrderedQueryable orderedQueryable, IJsonqlIncluder jsonqlIncluder, IJsonqlLinqer jsonqlLinqer) : base(orderedQueryable, jsonqlIncluder, jsonqlLinqer) { OrderedQueryable = orderedQueryable; }
internal Resource GetResource(string template, IJsonqlAuthorization jsonqlAuthorization, IJsonqlIncluder jsonqlIncluder = null, IJsonqlLinqer jsonqlLinqer = null) { var name = template.Substring(0, template.IndexOf("[]")); var queryable = queryables[name]; if (queryable == null) { return(null); } if (filters.ContainsKey(name)) { filters[name]?.Invoke(queryable, jsonqlAuthorization); } return(new Resource(queryable, jsonqlIncluder, jsonqlLinqer)); }
/// <summary> /// /// </summary> /// <param name="queryable"></param> /// <param name="jsonqlIncluder"></param> /// <param name="jsonqlLinqer"></param> public Resource(IQueryable queryable, IJsonqlIncluder jsonqlIncluder, IJsonqlLinqer jsonqlLinqer) { Queryable = queryable; JsonqlIncluder = jsonqlIncluder; JsonqlLinqer = jsonqlLinqer; }