Beispiel #1
0
 //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);
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        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));
        }