示例#1
0
        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()));
        }
示例#2
0
        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()));
        }