NetSuite - Поиск клиентов по сложному запросу - PullRequest
4 голосов
/ 07 июля 2019

Я пытаюсь найти клиентов, которые содержат эти поля: электронная почта или firstName или lastName или id.

должно быть между ИЛИ условием.

например

var freeText = "shomeone@gmai";
var customers = SearchForCustomersWhoContainsThisData(freeText)

как мне построить этот запрос в c #?

public List<Customer> SearchForCustomersWhoContainsThisData(string search_text)
{
    CustomerSearch custSearch = new CustomerSearch();

    SearchStringField searchField = new SearchStringField();
    searchField.@operator = SearchStringFieldOperator.contains;
    searchField.operatorSpecified = true;
    searchField.searchValue = search_text;
    CustomerSearchBasic custBasic1 = new CustomerSearchBasic();
    custBasic1.firstName = searchField;

    CustomerSearchBasic custBasic2 = new CustomerSearchBasic();
    custBasic2.lastName = searchField;

    custSearch.basic = custBasic1;
    //custSearch.basic = custBasic2; how to add this with or between

    // Search for the customer entity who contains this text
    SearchResult response = _crmNetSuitService.search(custSearch);
    var searchResults = response.recordList.Select(t => (Customer)t).ToList();

    return searchResults;
}

Я ожидаю найти клиентов, у которых в одном из этих полей есть этот текст поиска : электронная почта, имя, имя, идентификатор.

1 Ответ

3 голосов
/ 08 июля 2019

Согласно NetSuite SuiteAnswers, id 31408

Веб-службы> Поиск> Как установить фильтр поля для одного значения ИЛИ другого значения

В настоящее время выражения не поддерживаются поиском в веб-службах. Для того, чтобы искать, где поле одно или другое значение. Необходимо отправить два поисковых запроса, затем объединить результаты в коде приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...