Exemplo n.º 1
0
        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)}");
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
 public async Task <List <FreshdeskTicket <FreshdeskCustomFields> > > GetListAsync(FreshdeskTicketListOptions options)
 {
     return(await GetListAsync <FreshdeskCustomFields>(options).ConfigureAwait(false));
 }