//TODO: FIx public async Task <IPagination <Request> > SearchAsync( IZendeskQuery query, PagerParameters pager = null, CancellationToken cancellationToken = default(CancellationToken)) { return(await GetAsync <RequestsResponse>( $"{ResourceUri}/search?" /*+ query.WithTypeFilter<Request>().BuildQuery()*/, "search-requests", "SearchAsync", pager, cancellationToken : cancellationToken)); }
//TODO: FIx public async Task <IPagination <Request> > SearchAsync(IZendeskQuery query, PagerParameters pager = null) { using (_loggerScope(_logger, $"SearchAsync")) using (var client = _apiClient.CreateClient(ResourceUri)) { var response = await client.GetAsync("search?" /*+ query.WithTypeFilter<Request>().BuildQuery()*/, pager).ConfigureAwait(false); response.EnsureSuccessStatusCode(); return(await response.Content.ReadAsAsync <RequestsResponse>()); } }
private IListResponse <Organization> WaitForOrganizationToBeAvailiable(IZendeskQuery <Organization> query) { IListResponse <Organization> searchResults = new ListResponse <Organization>() { Results = new List <Organization>() }; var i = 100; while (i > 0 && !searchResults.Results.Any()) { searchResults = _client.Search.Find(query); i--; Thread.Sleep(3000); } if (searchResults == null || searchResults.Results == null || !searchResults.Results.Any()) { Assert.Fail("Query returned no matching results"); } return(searchResults); }
public async Task <IListResponse <T> > FindAsync <T>(IZendeskQuery <T> zendeskQuery) where T : IZendeskEntity { var requestUri = _client.BuildUri(SearchUri, zendeskQuery.BuildQuery()); return(await _client.GetAsync <ListResponse <T> >(requestUri).ConfigureAwait(false)); }
public IListResponse <T> Find <T>(IZendeskQuery <T> zendeskQuery) where T : IZendeskEntity { var requestUri = _client.BuildUri(SearchUri, zendeskQuery.BuildQuery()); return(_client.Get <ListResponse <T> >(requestUri)); }
private IListResponse<Organization> WaitForOrganizationToBeAvailiable(IZendeskQuery<Organization> query) { IListResponse<Organization> searchResults = new ListResponse<Organization>() { Results = new List<Organization>() }; var i = 100; while (i > 0 && !searchResults.Results.Any()) { searchResults = _client.Search.Find(query); i--; Thread.Sleep(3000); } if (searchResults == null || searchResults.Results == null || !searchResults.Results.Any()) Assert.Fail("Query returned no matching results"); return searchResults; }
public static IZendeskQuery WithCustomFieldValue(this IZendeskQuery query, string customFieldValue) { return(query.WithFilter("fieldvalue", customFieldValue)); }
public static IZendeskQuery WithTicketId(this IZendeskQuery query, long id) { return(query.WithFilter(0, null, id.ToString(), FilterOperator.None)); }
public static IZendeskQuery FromRequester(this IZendeskQuery query, string email) { return(query.WithFilter("requester", email)); }
public static IZendeskQuery WithTags(this IZendeskQuery query, params string[] tags) { return(query.WithFilter("tags", string.Join(",", tags))); }
public static IZendeskQuery WithCreatedDate(this IZendeskQuery query, DateTime dateTime, FilterOperator op) { return(query.WithFilter("created", $"{dateTime:yyyy-MM-dd}", op)); }
public static IZendeskQuery WithTicketStatus(this IZendeskQuery query, TicketStatus status, FilterOperator op = FilterOperator.Equals) { return(query.WithFilter("status", status.GetType().GetTypeInfo().GetDeclaredField(status.ToString()).GetCustomAttribute <EnumMemberAttribute>().Value, op)); }
public static IZendeskQuery WithWord(this IZendeskQuery query, string value, FilterOperator op = FilterOperator.None) { return(query.WithFilter(null, value, op)); }
public static IZendeskQuery WithTypeFilter <T>(this IZendeskQuery query) where T : ISearchResult { var id = typeof(T).GetTypeInfo().GetCustomAttribute <SearchResultTypeAttribute>().ResultType; return(query.WithFilter("type", id)); }
public static IZendeskQuery WithWordFromTypeFilter <T>(this IZendeskQuery query, string value, Models.FilterOperator op = Models.FilterOperator.Equals) { var id = typeof(T).GetTypeInfo().GetCustomAttribute <SearchResultTypeAttribute>().ResultType; return(query.WithFilter(id, value, op)); }