public static ITypeInfo Get_TypeInfo(IModelElasticSearchFieldsItem elasticSearchFieldsItem) { if (elasticSearchFieldsItem != null) { var modelElasticSearchFieldsList = elasticSearchFieldsItem.Parent as IModelElasticSearchFieldsList; if (modelElasticSearchFieldsList != null) { var modelClassElasticSearchFilterSettings = modelElasticSearchFieldsList.Parent as IModelElasticSearchFilterSettings; if (modelClassElasticSearchFilterSettings != null) { var modelClass = modelClassElasticSearchFilterSettings as IModelClass; if (modelClass != null) { return(modelClass.TypeInfo); } var modelListView = modelClassElasticSearchFilterSettings as IModelListView; if (modelListView != null && modelListView.ModelClass != null) { return(modelListView.ModelClass.TypeInfo); } } } } return(null); }
private void SearchOptions(string searchText, bool fuzzy, bool wildcard, CustomSearchEventArgs customSearchEventArgs) { IModelElasticSearchFieldsItem item = null; if (FilterFieldsAction.Active && FilterFieldsAction.SelectedItem != null && FilterFieldsAction.SelectedItem.Model != null) { item = FilterFieldsAction.SelectedItem.Model as IModelElasticSearchFieldsItem; } customSearchEventArgs.Json = ElasticSearchClient.Instance.SearchBody(searchText, ElasticSearchResults, fuzzy, wildcard, customSearchEventArgs.Filter, customSearchEventArgs.SecurityFilter, item); OnCustomSearch(customSearchEventArgs); lastSearchText = customSearchEventArgs.SearchText; }
/// <summary> /// Returns an awaitable enumeration of suggestion strings for the search string /// </summary> /// <param name="search">The string to search suggestions for</param> /// <returns>An awaitable enumeration of suggestion strings</returns> public virtual async Task <IEnumerable <string> > SuggestAsync(string search) { if (IsElasticSearchAvailable && View != null) { IModelElasticSearchFieldsItem item = null; if (FilterFieldsAction.Active && FilterFieldsAction.SelectedItem != null && FilterFieldsAction.SelectedItem.Model != null) { item = FilterFieldsAction.SelectedItem.Model as IModelElasticSearchFieldsItem; } return(await ElasticSearchClient.Instance.SuggestAsync(search, View.ObjectTypeInfo, item).ConfigureAwait(false)); } return(null); }
/// <summary> /// Returns the Type Info for a IModelElasticSearchFieldsItem instance /// </summary> /// <param name="elasticSearchFieldsItem">IModelElasticSearchFieldsItem instance</param> /// <returns>Type Info for a IModelElasticSearchFieldsItem instance</returns> public static ITypeInfo Get_TypeInfo(IModelElasticSearchFieldsItem elasticSearchFieldsItem) { if (elasticSearchFieldsItem != null && elasticSearchFieldsItem.Parent is IModelElasticSearchFieldsList modelElasticSearchFieldsList && modelElasticSearchFieldsList.Parent is IModelElasticSearchFilterSettings modelClassElasticSearchFilterSettings) { if (modelClassElasticSearchFilterSettings is IModelClass modelClass) { return(modelClass.TypeInfo); } if (modelClassElasticSearchFilterSettings is IModelListView modelListView && modelListView.ModelClass != null) { return(modelListView.ModelClass.TypeInfo); } } return(null); }