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 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())); }