public IEnumerable<Series> GetMultipleSeries( string name = null, string abbreviation = null, string moderatorId = null, int? elementsPerPage = null, SeriesEmbeds embeds = default(SeriesEmbeds), SeriesOrdering orderBy = default(SeriesOrdering)) { var parameters = new List<string>() { embeds.ToString() }; parameters.AddRange(orderBy.ToParameters()); if (!string.IsNullOrEmpty(name)) parameters.Add(string.Format("name={0}", Uri.EscapeDataString(name))); if (!string.IsNullOrEmpty(abbreviation)) parameters.Add(string.Format("abbreviation={0}", Uri.EscapeDataString(abbreviation))); if (!string.IsNullOrEmpty(moderatorId)) parameters.Add(string.Format("moderator={0}", Uri.EscapeDataString(moderatorId))); if (elementsPerPage.HasValue) parameters.Add(string.Format("max={0}", elementsPerPage.Value)); var uri = GetSeriesUri(parameters.ToParameters()); return baseClient.DoPaginatedRequest(uri, x => Series.Parse(baseClient, x) as Series); }
public IEnumerable <Series> GetMultipleSeries( string name = null, string abbreviation = null, string moderatorId = null, int?elementsPerPage = null, SeriesEmbeds embeds = default(SeriesEmbeds), SeriesOrdering orderBy = default(SeriesOrdering)) { var parameters = new List <string>() { embeds.ToString() }; parameters.AddRange(orderBy.ToParameters()); if (!string.IsNullOrEmpty(name)) { parameters.Add(string.Format("name={0}", Uri.EscapeDataString(name))); } if (!string.IsNullOrEmpty(abbreviation)) { parameters.Add(string.Format("abbreviation={0}", Uri.EscapeDataString(abbreviation))); } if (!string.IsNullOrEmpty(moderatorId)) { parameters.Add(string.Format("moderator={0}", Uri.EscapeDataString(moderatorId))); } if (elementsPerPage.HasValue) { parameters.Add(string.Format("max={0}", elementsPerPage.Value)); } var uri = GetSeriesUri(parameters.ToParameters()); return(baseClient.DoPaginatedRequest(uri, x => Series.Parse(baseClient, x) as Series)); }
internal static IEnumerable <string> ToParameters(this SeriesOrdering ordering) { var isDescending = ((int)ordering & 1) == 1; if (isDescending) { ordering = (SeriesOrdering)((int)ordering - 1); } var str = ""; switch (ordering) { case SeriesOrdering.JapaneseName: str = "name.jap"; break; case SeriesOrdering.Abbreviation: str = "abbreviation"; break; case SeriesOrdering.CreationDate: str = "created"; break; } var list = new List <string>(); if (!string.IsNullOrEmpty(str)) { list.Add(string.Format("orderby={0}", str)); } if (isDescending) { list.Add("direction=desc"); } return(list); }