private string GetSearchInFilter(SearchPropertyMap propertyMap, object values) { if (string.IsNullOrWhiteSpace(values.ToString())) { return(string.Empty); } var azureSearchPropertyMap = propertyMap.AzureSearchPropertyMap; if (propertyMap.PropertyName != propertyMap.ParentPropertyName) { var parent = _filterMapper.GetSearchPropertyMap(propertyMap.ParentPropertyName, propertyMap.ParentPropertyName); if (parent != null) { azureSearchPropertyMap = $"{parent.AzureSearchPropertyMap}/{propertyMap.AzureSearchPropertyMap}"; } } var queryList = new List <string>() { $"search.in({azureSearchPropertyMap}, '{values}', '{_searchConfiguration.Delimiter}')" }; return(BuildCustomQuery(QueryConditions.Or, queryList.ToArray())); }
private string EmptyFieldQuery(SearchQueryParameter searchFilterInfo, SearchPropertyMap searchProperty, bool isNullCheck) { var anyQuery = $"{searchProperty.AzureSearchPropertyMap}/{searchFilterInfo.ODataOperator.ToString().ToLower()}()"; return(isNullCheck ? $"not {anyQuery}" : anyQuery); }
private string GetAdditionalFilter(SearchPropertyMap propertyMap, SearchSubQueryParameter additionalSearchFilterInfo) { var data = _dataFormats.First(s => s.IsMatch(additionalSearchFilterInfo)).GetFormattedValue(additionalSearchFilterInfo); var queryList = new List <string>(); queryList.Add( $"{propertyMap.AzureSearchPropertyMap} {additionalSearchFilterInfo.ODataOperator.ToString().ToLower()} {data.Value}"); if (data.IsAdditionalNullCheckRequired) { queryList.Add( $"{propertyMap.AzureSearchPropertyMap} {additionalSearchFilterInfo.ODataOperator.ToString().ToLower()} null"); } return(BuildCustomQuery(QueryConditions.Or, queryList.ToArray())); }
private string GetFilter(SearchPropertyMap propertyMap, SearchQueryParameter searchQueryParameter) { var data = _dataFormats.First(s => s.IsMatch(searchQueryParameter)).GetFormattedValue(searchQueryParameter); var queryList = new List <string>(); if (!string.IsNullOrWhiteSpace(data.Value)) { queryList.Add( $"{propertyMap.AzureSearchPropertyMap} {searchQueryParameter.ODataOperator.ToString().ToLower()} {data.Value}"); } if (data.IsAdditionalNullCheckRequired) { queryList.Add( $"{propertyMap.AzureSearchPropertyMap} {searchQueryParameter.ODataOperator.ToString().ToLower()} null"); } return(BuildCustomQuery(QueryConditions.Or, queryList.ToArray())); }
private string GetAdditionalFilter(SearchPropertyMap propertyMap, SearchSubQueryParameter additionalSearchFilterInfo) { var queryList = new List <string>(); if (additionalSearchFilterInfo.ODataOperator == ODataOperators.SearchIn) { if (string.IsNullOrWhiteSpace(additionalSearchFilterInfo.Value.ToString())) { return(string.Empty); } queryList.Add( $"search.in({_itemName}/{propertyMap.AzureSearchPropertyMap}, '{additionalSearchFilterInfo.Value}','{_searchConfiguration.Delimiter}')"); } else { var data = _dataFormats.First(s => s.IsMatch(additionalSearchFilterInfo)).GetFormattedValue(additionalSearchFilterInfo); if (string.IsNullOrWhiteSpace(data.Value)) { return(string.Empty); } queryList.Add( $"{_itemName}/{propertyMap.AzureSearchPropertyMap} {additionalSearchFilterInfo.ODataOperator.ToString().ToLower()} {data.Value}"); if (data.IsAdditionalNullCheckRequired) { queryList.Add( $"{_itemName}/{propertyMap.AzureSearchPropertyMap} {additionalSearchFilterInfo.ODataOperator.ToString().ToLower()} null"); } } return(BuildCustomQuery(QueryConditions.Or, queryList.ToArray())); }
private string BuildCollectionQuery(SearchQueryParameter searchQueryParameter, SearchPropertyMap searchProperty) { var queryList = new List <string>(); if (searchQueryParameter.ODataOperator == ODataOperators.SearchIn) { return(GetSearchInFilter(searchProperty, searchQueryParameter.Value)); } StringBuilder builder = new StringBuilder( $"{searchProperty.AzureSearchPropertyMap}/{searchQueryParameter.ODataOperator.ToString().ToLower()}({_itemName}: "); builder.Append(BuildSubQuery(searchQueryParameter)); builder.Append(")"); queryList.Add(builder.ToString()); return(BuildCustomQuery(QueryConditions.Or, queryList.ToArray())); }