public ReadOnlyCollection <Variable> GetVariables(string gameId, VariablesOrdering orderBy = default) { var parameters = new List <string>(orderBy.ToParameters()); var uri = GetGamesUri(string.Format("/{0}/variables{1}", Uri.EscapeDataString(gameId), parameters.ToParameters())); return(baseClient.DoDataCollectionRequest(uri, x => Variable.Parse(baseClient, x) as Variable)); }
public ReadOnlyCollection<Variable> GetVariables(string categoryId, VariablesOrdering orderBy = default(VariablesOrdering)) { var parameters = new List<string>(orderBy.ToParameters()); var uri = GetCategoriesUri(string.Format("/{0}/variables{1}", Uri.EscapeDataString(categoryId), parameters.ToParameters())); return baseClient.DoDataCollectionRequest<Variable>(uri, x => Variable.Parse(baseClient, x)); }
internal static IEnumerable <string> ToParameters(this VariablesOrdering ordering) { var isDescending = ((int)ordering & 1) == 1; if (isDescending) { ordering = (VariablesOrdering)((int)ordering - 1); } var str = ""; switch (ordering) { case VariablesOrdering.Name: str = "name"; break; case VariablesOrdering.Mandatory: str = "mandatory"; break; case VariablesOrdering.UserDefined: str = "user-defined"; 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); }