protected string GetRankByValue(RankBy rankBy) { switch (rankBy) { case RankBy.Distance: return("distance"); default: return("prominence"); } }
// ================================================ // INNER METHODS // ================================================ string RankByToString(RankBy rankBy) { switch (rankBy) { case RankBy.Distance: return("distance"); case RankBy.Prominence: return("prominence"); default: return("prominence"); } }
internal override Uri ToUri() { ValidateRequest(); var qsb = new Internal.QueryStringBuilder(); qsb.Append("location", Location.GetAsUrlParameter()) .Append("sensor", (Sensor.Value.ToString().ToLowerInvariant())); if (RankBy.GetValueOrDefault(Maps.RankBy.Prominence) != Maps.RankBy.Distance) { // Note that radius must not be included if rankby=distance qsb.Append("radius", Radius.ToString()); } else { qsb.Append("rankby", RankBy.Value.ToString().ToLowerInvariant()); } if (!string.IsNullOrEmpty(Keyword)) { qsb.Append("keyword", Keyword.ToString().ToLowerInvariant()); } if (!string.IsNullOrEmpty(Name)) { qsb.Append("name", Name.ToString().ToLowerInvariant()); } if ((Types != null && Types.Any())) { qsb.Append("types", TypesToUri()); } if (!string.IsNullOrEmpty(Language)) { qsb.Append("language", Language.ToLowerInvariant()); } if (Minprice.HasValue) { qsb.Append("minprice", Minprice.Value.ToString()); } if (Maxprice.HasValue) { qsb.Append("maxprice", Maxprice.Value.ToString()); } if (OpenNow.HasValue) { qsb.Append("opennow", OpenNow.Value.ToString().ToLowerInvariant()); } if (!string.IsNullOrEmpty(PageToken)) { qsb.Append("pagetoken", PageToken); } if (ZagatSelected) { qsb.Append("zagatselected"); } var url = "nearbysearch/json?" + qsb.ToString(); return(new Uri(url, UriKind.Relative)); }
public static IEnumerable <RankingDataTransfer> GetRankingData(this IEnumerable <Author> authors, RankBy by) { ICollection <RankingDataTransfer> rankingData = new List <RankingDataTransfer>(); if (by == RankBy.Score) { authors.ToList().ForEach(a => { rankingData.Add(new RankingDataTransfer { AuthorEmail = a.Email, AuthorScore = a.Votes }); }); } else if (by == RankBy.NumberOfArticles) { authors.ToList().ForEach(a => { rankingData.Add(new RankingDataTransfer { AuthorEmail = a.Email, AuthorNumberOfArticles = a.Article.Count }); }); } return(rankingData); }
public async Task <SearchData> GetPlacesByNearbySearch(double latitude, double longitude, int?radius = null, string keyword = null, string name = null, RankBy rankBy = RankBy.Undefined, PlaceType placeType = PlaceType.Undefined, Language language = Language.Undefined, PriceLevel minPriceLevel = PriceLevel.Undefined, PriceLevel maxPriceLevel = PriceLevel.Undefined, bool?openNow = null, string pageToken = null, string region = null) { var request = new RestRequest("nearbysearch/json", Method.GET); request.AddParameter("location", $"{latitude},{longitude}"); if (!string.IsNullOrEmpty(keyword)) { request.AddParameter("keyword", keyword); } if (!string.IsNullOrEmpty(name)) { request.AddParameter("name", name); } if (rankBy != RankBy.Undefined) { request.AddParameter("rankby", GetRankByValue(rankBy)); } if (radius.HasValue) { request.AddParameter("radius", radius.Value); } if (language != Language.Undefined) { request.AddParameter("language", GetLanguageCode(language)); } if (minPriceLevel != PriceLevel.Undefined) { request.AddParameter("minprice", (int)minPriceLevel); } if (maxPriceLevel != PriceLevel.Undefined) { request.AddParameter("maxprice", (int)maxPriceLevel); } if (openNow.HasValue) { request.AddParameter("opennow", openNow.Value.ToString().ToLower()); } if (placeType != PlaceType.Undefined) { request.AddParameter("type", GetPlaceType(placeType)); } if (!string.IsNullOrEmpty(pageToken)) { request.AddParameter("pagetoken", pageToken); } if (!string.IsNullOrEmpty(region)) { request.AddParameter("region", region); } return(await base.Execute <SearchData>(request)); }