public static QuerySearch Create(Guid layer, QueryController parent) { var result = new QuerySearch(); result.AllQueryable = new List <IQueryable>(); result.ParentController = parent; result.Layer = layer; return(result); }
public QuerySearch EnsureSearchProvider(Guid layer) { if (this.QuerySearches.ContainsKey(layer)) { return(this.QuerySearches[layer]); } else { var r = QuerySearch.Create(layer, this); this.QuerySearches.Add(layer, r); return(r); } }
QuerySearch _AddQueryable(IQueryable q) { var layers = q.Layers; QuerySearch last = null; for (int c = 0; c < layers.Count; c++) { var layer = layers[c]; last = this.EnsureSearchProvider(layer); last.AddQueryable(q); } return(last); }