public static List <string> GetSuperTypes(Dictionary <string, string> query = null) { try { string queryString = string.Empty; HttpResponseMessage stringTask; List <string> superTypes = new List <string>(); query = QueryBuilderHelper.GetDefaultQuery(query); using (HttpClient client = QueryBuilderHelper.SetupClient()) { stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client, ResourceTypes.SuperTypes); SuperType type = QueryBuilderHelper.CreateObject <SuperType>(stringTask); superTypes.AddRange(type.Types); return(superTypes); } } catch (Exception ex) { List <string> errors = new List <string>() { ex.Message }; return(errors); } }
public static T Get <T>(Dictionary <string, string> query = null) { try { var queryString = string.Empty; var type = QueryBuilderHelper.GetType <T>(ref query); using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client, type); var result = QueryBuilderHelper.CreateObject <T>(stringTask); if (result is IBaseQueryModel model) { model.PagingInfo = HttpResponseToPagingInfo.MapFrom(stringTask.Headers); return((T)model); } return(result); } } catch (Exception ex) { return((T)Convert.ChangeType(ex.Message, typeof(T))); } }
/// <summary> /// Get all of the cards. This call will take a while to finish. /// </summary> /// <param name="query"></param> /// <returns></returns> // TODO: Make this call more generic public static List <PokemonCard> All(Dictionary <string, string> query = null) { using (HttpClient client = QueryBuilderHelper.SetupClient()) { HttpResponseMessage stringTask; List <Pokemon> items = new List <Pokemon>(); List <PokemonCard> mergedList = new List <PokemonCard>(); bool fetchAll = QueryBuilderHelper.FetchAll(ref query); if (query != null) { if (!query.ContainsKey(CardQueryTypes.Page)) { query.Add(CardQueryTypes.Page, "1"); } query.Add(CardQueryTypes.PageSize, "500"); } else { query = new Dictionary <string, string>() { { CardQueryTypes.Page, "1" }, { CardQueryTypes.PageSize, "500" } }; } for (int i = 0; i < int.Parse(query[CardQueryTypes.PageSize]); i++) { string queryString = string.Empty; stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client, ResourceTypes.Cards); if (stringTask.IsSuccessStatusCode) { Pokemon item = QueryBuilderHelper.CreateObject <Pokemon>(stringTask); query[CardQueryTypes.Page] = (int.Parse(query[CardQueryTypes.Page]) + 1).ToString(); items.Add(item); if (!fetchAll) { break; } } else { break; } } // Create the list returned as a single list instead of // a list of lists foreach (Pokemon pokemon in items) { mergedList.AddRange(pokemon.Cards); } return(mergedList); } }
public static List <SetData> Find(Dictionary <string, string> query) { string queryString = string.Empty; using (HttpClient client = QueryBuilderHelper.SetupClient()) { HttpResponseMessage stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client, ResourceTypes.Sets); Set set = QueryBuilderHelper.CreateObject <Set>(stringTask); return(set.Cards); } }
public static async Task <List <SetData> > Find(Dictionary <string, string> query) { var queryString = string.Empty; using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = await QueryBuilderHelper.BuildTaskString(query, queryString, client, ResourceTypes.Sets); var set = QueryBuilderHelper.CreateObject <Set>(stringTask); return(set.Cards); } }
public static T Get <T>(Dictionary <string, string> query = null) { try { var queryString = string.Empty; var type = QueryBuilderHelper.GetType <T>(ref query); using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client, type); return(QueryBuilderHelper.CreateObject <T>(stringTask)); } } catch (Exception ex) { return((T)Convert.ChangeType(ex.Message, typeof(T))); } }
public static Pokemon GetPokemonCards(Dictionary <string, string> query = null) { try { var queryString = string.Empty; using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client); return(QueryBuilderHelper.CreateObject <Pokemon>(stringTask)); } } catch (Exception ex) { return(new Pokemon { Errors = new List <string> { ex.Message } }); } }
public static List <string> GetSubTypes(Dictionary <string, string> query = null) { try { var queryString = string.Empty; var superTypes = new List <string>(); using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = QueryBuilderHelper.BuildTaskString(null, ref queryString, client, ResourceTypes.SubTypes); var type = QueryBuilderHelper.CreateObject <SubType>(stringTask); superTypes.AddRange(type.Types); return(superTypes); } } catch (Exception ex) { return(new List <string> { ex.Message }); } }
public static async Task <SetData> GetSets(Dictionary <string, string> query = null) { try { var queryString = string.Empty; using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = await QueryBuilderHelper.BuildTaskString(query, queryString, client); return(QueryBuilderHelper.CreateObject <SetData>(stringTask)); } } catch (Exception ex) { return(new SetData { Errors = new List <string> { ex.Message } }); } }
public static SetData GetSets(Dictionary <string, string> query = null) { try { string queryString = string.Empty; HttpResponseMessage stringTask; using (HttpClient client = QueryBuilderHelper.SetupClient()) { stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client); return(QueryBuilderHelper.CreateObject <SetData>(stringTask)); } } catch (Exception ex) { SetData set = new SetData(); set.Errors = new List <string>() { ex.Message }; return(set); } }
public static Pokemon GetPokemonCards(Dictionary <string, string> query = null) { try { string queryString = string.Empty; HttpResponseMessage stringTask; using (HttpClient client = QueryBuilderHelper.SetupClient()) { stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client); return(QueryBuilderHelper.CreateObject <Pokemon>(stringTask)); } } catch (Exception ex) { Pokemon pokemon = new Pokemon(); pokemon.Errors = new List <string>() { ex.Message }; return(pokemon); } }
public static Pokemon GetPokemonCards(Dictionary <string, string> query = null) { try { var queryString = string.Empty; using (var client = QueryBuilderHelper.SetupClient()) { var stringTask = QueryBuilderHelper.BuildTaskString(query, ref queryString, client); var result = QueryBuilderHelper.CreateObject <Pokemon>(stringTask); result.PagingInfo = HttpResponseToPagingInfo.MapFrom(stringTask.Headers); return(result); } } catch (Exception ex) { return(new Pokemon { Errors = new List <string> { ex.Message } }); } }
public static async Task <List <SetData> > All(Dictionary <string, string> query = null) { using (var client = QueryBuilderHelper.SetupClient()) { var items = new List <Set>(); var mergedList = new List <SetData>(); var fetchAll = QueryBuilderHelper.FetchAll(ref query); if (query != null) { if (!query.ContainsKey(CardQueryTypes.Page)) { query.Add(CardQueryTypes.Page, "1"); } query.Add(CardQueryTypes.PageSize, "500"); } else { query = new Dictionary <string, string> { { CardQueryTypes.Page, "1" }, { CardQueryTypes.PageSize, "100" } }; } var totalCount = int.Parse(query[CardQueryTypes.PageSize]); int amount; for (var i = 0; i < totalCount; i += amount) { var queryString = string.Empty; var stringTask = await QueryBuilderHelper.BuildTaskString(query, queryString, client, ResourceTypes.Sets); if (stringTask.IsSuccessStatusCode) { var info = HttpResponseToPagingInfo.MapFrom(stringTask.Headers); totalCount = info.TotalCount; amount = info.Count; var item = QueryBuilderHelper.CreateObject <Set>(stringTask); query[CardQueryTypes.Page] = (int.Parse(query[CardQueryTypes.Page]) + 1).ToString(); items.Add(item); if (!fetchAll) { break; } } else { break; } } // Create the list returned as a single list instead of a list of lists foreach (var set in items) { mergedList.AddRange(set.Cards); } return(mergedList); } }