public static async Task <T> GetAsync <T>(this HttpClient client, Uri uri, params KeyValuePair <string, string>[] parameters) { var resourceUri = uri.AppendParameters(parameters); HttpResponseMessage response = await client.GetAsync(resourceUri); return(await response.DeserializeWithStatusCodeCheckAsync <T>()); }
/// <summary> /// Append date range parameters to a URI following Square V1 specification. /// </summary> /// <param name="baseUri">Uri on which to append.</param> /// <param name="beginTime">Begin time.</param> /// <param name="endTime">End time.</param> /// <param name="listOrder">Ascending or descending. Descending is default.</param> /// <returns>New uri with date-range parameters included with values.</returns> public static Uri AppendOrderOrLimit(this Uri baseUri, short?limit, ListOrderType?listOrder) { var parameters = new List <string>(); if (listOrder.HasValue) { parameters.Add("order"); parameters.Add(listOrder.Value.EnumToString()); } if (limit.HasValue) { parameters.Add("limit"); parameters.Add(limit.Value.ToString()); } return(baseUri.AppendParameters(parameters.ToArray())); }
/// <summary> /// Append date range parameters to a URI following Square V1 specification. /// </summary> /// <param name="baseUri">Uri on which to append.</param> /// <param name="beginTime">Begin time.</param> /// <param name="endTime">End time.</param> /// <param name="beginLabel">parameter name.</param> /// <param name="endLabel">parameter name.</param> /// <returns>New uri with date-range parameters included with values.</returns> public static Uri AppendDateRange(this Uri baseUri, string beginLabel, DateTime?beginTime, string endLabel, DateTime?endTime) { const string format = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffK"; var parameters = new List <string>(); if (beginTime.HasValue) { parameters.Add(beginLabel); parameters.Add(beginTime.Value.ToUniversalTime().ToString(format)); } if (endTime.HasValue) { parameters.Add(endLabel); parameters.Add(endTime.Value.ToUniversalTime().ToString(format)); } return(baseUri.AppendParameters(parameters.ToArray())); }