private static string GetListQueryString(FreshdeskTicketListOptions options) { if (options == null) { return(""); } var filters = new List <string>(); if (options.Filter != default(FreshdeskTicketFilter)) { filters.Add($"filter={options.Filter.ToFilterString()}"); } if (options.Email != default(string)) { filters.Add($"email={WebUtility.UrlEncode(options.Email)}"); } if (options.RequesterId != default(ulong?)) { filters.Add($"requester_id={options.RequesterId.Value}"); } if (options.CompanyId != default(ulong?)) { filters.Add($"company_id={options.CompanyId.Value}"); } if (options.UpdatedSince != default(DateTime?)) { filters.Add($"updated_since={options.UpdatedSince.Value}"); } filters.Add($"order_by={options.OrderBy.ToOrderByString()}"); filters.Add($"order_type={options.OrderType.ToString().ToLower()}"); AddPageFilters(options, filters); return($"?{string.Join("&", filters)}"); }
public async Task <List <FreshdeskTicket <TCustomFieldObject> > > GetListAsync <TCustomFieldObject>(FreshdeskTicketListOptions options) where TCustomFieldObject : class { var query = GetListQueryString(options); var requestUri = $"{_apiBaseUri}/tickets{query}"; using (var response = await _httpClient.GetAsync(requestUri).ConfigureAwait(false)) { return(await GetResponseAsync <List <FreshdeskTicket <TCustomFieldObject> > >(response).ConfigureAwait(false)); } }
public async Task <List <FreshdeskTicket <FreshdeskCustomFields> > > GetListAsync(FreshdeskTicketListOptions options) { return(await GetListAsync <FreshdeskCustomFields>(options).ConfigureAwait(false)); }