/// <summary> /// The get near by deals uri. /// </summary> /// <param name="coordinates"> /// The coordinates. /// </param> /// <param name="radius"> /// The radius. /// </param> /// <param name="count"> /// The count. /// </param> /// <param name="refinements"> /// The refinements. /// </param> /// <returns> /// The <see cref="Uri"/>. /// </returns> internal Uri GetNearByDealsUri(Coordinates coordinates, double?radius = null, int?count = null, Refinements refinements = null) { var queryString = new List <KeyValuePair <string, string> > { this.clientQueryParameter }; if (coordinates != null) { queryString.Add(new KeyValuePair <string, string>(CoordKey, string.Format("{0},{1}", coordinates.Latitude, coordinates.Longitude))); } if (radius.HasValue) { queryString.Add(new KeyValuePair <string, string>(RadiusKey, radius.Value.ToString(CultureInfo.InvariantCulture))); } if (count.HasValue) { queryString.Add(new KeyValuePair <string, string>(CountKey, count.Value.ToString(CultureInfo.InvariantCulture))); } if (refinements != null) { queryString.Add(new KeyValuePair <string, string>(RefinementsKey, RefinementsQueryStringConstructor.ConstructString(refinements))); } return(this.BuildUrl(GetNearbyDealsMethod, queryString)); }
/// <summary> /// The get deals by id. /// </summary> /// <param name="dealIds"> /// The deal ids. /// </param> /// <param name="count"> /// The count. /// </param> /// <param name="refinements">The refinements. <seealso cref="Refinements"/> </param> /// <param name="format">The format of the response: "simple", "all",...</param> /// <returns> /// The <see cref="Uri"/>. /// </returns> internal Uri GetDealsById(IList <Guid> dealIds, int?count = null, Refinements refinements = null, string format = "default") { var queryString = new List <KeyValuePair <string, string> > { this.clientQueryParameter }; if (dealIds != null && dealIds.Any()) { queryString.Add(new KeyValuePair <string, string>(DealIdsKey, string.Join(",", dealIds))); } if (count.HasValue) { queryString.Add(new KeyValuePair <string, string>(CountKey, count.Value.ToString(CultureInfo.InvariantCulture))); } if (refinements != null) { queryString.Add(new KeyValuePair <string, string>(RefinementsKey, RefinementsQueryStringConstructor.ConstructString(refinements))); } if (string.Compare(format, "default", StringComparison.CurrentCultureIgnoreCase) != 0) { queryString.Add(new KeyValuePair <string, string>(FormatKey, format)); } return(this.BuildUrl(GetDealsByIdMethod, queryString)); }
/// <summary> /// The get online deals uri. /// </summary> /// <param name="count"> /// The count. /// </param> /// <param name="refinements"> /// The refinements. /// </param> /// <returns> /// The <see cref="Uri"/>. /// </returns> internal Uri GetOnlineDealsUri(int?count = null, Refinements refinements = null) { var queryString = new List <KeyValuePair <string, string> > { this.clientQueryParameter }; if (count.HasValue) { queryString.Add(new KeyValuePair <string, string>(CountKey, count.Value.ToString(CultureInfo.InvariantCulture))); } if (refinements != null) { queryString.Add(new KeyValuePair <string, string>(RefinementsKey, RefinementsQueryStringConstructor.ConstructString(refinements))); } return(this.BuildUrl(GetOnlineDealsMethod, queryString)); }
/// <summary> /// The get deals by region uri. /// </summary> /// <param name="regionCode"> /// The region code. /// </param> /// <param name="coordinates"> /// The coordinates. /// </param> /// <param name="radius"> /// The radius. /// </param> /// <param name="count"> /// The count. /// </param> /// <param name="refinements"> /// The refinements. /// </param> /// <param name="anid"> /// Anid of the user /// </param> /// <returns> /// The <see cref="Uri"/>. /// </returns> internal Uri GetDealsByRegionUri(string regionCode, Coordinates coordinates, double?radius, int?count, Refinements refinements, string anid = null) { var queryString = new List <KeyValuePair <string, string> > { this.clientQueryParameter }; if (coordinates != null) { queryString.Add(new KeyValuePair <string, string>(CoordKey, string.Format("{0},{1}", coordinates.Latitude, coordinates.Longitude))); } if (!string.IsNullOrEmpty(regionCode)) { queryString.Add(new KeyValuePair <string, string>(RegionKey, regionCode)); } if (!string.IsNullOrEmpty(anid)) { queryString.Add(new KeyValuePair <string, string>(AnidKey, anid)); } if (radius.HasValue) { queryString.Add(new KeyValuePair <string, string>(RadiusKey, radius.Value.ToString(CultureInfo.InvariantCulture))); } if (count.HasValue) { queryString.Add(new KeyValuePair <string, string>(CountKey, count.Value.ToString(CultureInfo.InvariantCulture))); } if (refinements != null) { queryString.Add(new KeyValuePair <string, string>(RefinementsKey, RefinementsQueryStringConstructor.ConstructString(refinements))); } return(this.BuildUrl(GetDealsByRegionMethod, queryString)); }