private static string BuildGameFiltersList(GameCollectionFilters filters) { string available = ""; if (filters.IsAvailable != null) { available = $";is_available={(Convert.ToInt32(filters.IsAvailable.Value))}"; } string years = ""; if (filters.Seasons != null && filters.Seasons.Length > 0) { years = $";seasons={string.Join(",", filters.Seasons)}"; } string gameCodeString = ""; if (filters.GameCodes != null && filters.GameCodes.Length > 0) { gameCodeString = $";game_codes={string.Join(",", filters.GameCodes.Select(a => Enum.GetName(typeof(GameCode), a)))}"; } string gType = ""; if (filters.GameTypes != null && filters.GameTypes.Length > 0) { gType = $";game_types={ string.Join(",", filters.GameTypes.Select(a => a.ToFriendlyString()))}"; } return($"{available}{years}{gameCodeString}{gType}"); }
/// <summary> /// Gets Games Collection based on supplied Keys for logged in user /// Attaches Requested SubResources /// Applies Filters if included /// </summary> /// <param name="gameKeys">Game Keys to return Resources for </param> /// <param name="subresources">SubResources to include with Game Resource</param> /// <param name="AccessToken">Token for request</param> /// <param name="filters">Custom Filter Object on Game</param> /// <returns>Games Collection (List of Game Resources)</returns> public async Task <List <Game> > GetGamesUsers(string AccessToken, string[] gameKeys = null, EndpointSubResourcesCollection subresources = null, GameCollectionFilters filters = null) { return(await Utils.GetCollection <Game>(ApiEndpoints.GamesUserEndPoint(gameKeys, subresources, filters), AccessToken, "game")); }
internal static EndPoint GamesUserEndPoint(string[] gameKeys = null, EndpointSubResourcesCollection subresources = null, GameCollectionFilters filters = null) { string games = ""; if (gameKeys != null && gameKeys.Length > 0) { games = $";game_keys={ string.Join(",", gameKeys)}"; } return(new EndPoint { BaseUri = BaseApiUrl, Resource = $"/users{LoginString}/games{games}{BuildGameFiltersList(filters)}{BuildSubResourcesList(subresources)}" }); }