Пример #1
0
 /// <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;
 }
Пример #2
0
 /// <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;
 }
Пример #3
0
        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));
        }
Пример #4
0
 /// <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;
 }