/// <summary> /// Busca una especie usando una URL especifica /// </summary> /// <param name="url"></param> /// <returns></returns> public SpeciesApi searchSpecies(string url) { string response = ApiHelper.RunRequest(url, "", "GET", "application/json; charset=utf-8"); SpeciesApi speciesApi = deserializeResult <SpeciesApi>(response); return(speciesApi); }
/// <summary> /// Busca una especie en un servicio externo a partir del Id /// </summary> /// <param name="id"></param> /// <returns></returns> public SpeciesApi searchSpecies(int id) { string response = ApiHelper.RunRequest(_appConfig["ExternalServicesURL:Species"] + id.ToString() + "/", "", "GET", "application/json; charset=utf-8"); if (string.IsNullOrEmpty(response)) { return(null); } SpeciesApi speciesApi = deserializeResult <SpeciesApi>(response); return(speciesApi); }
/// <summary> /// Busca una especie en una API según su url. (Y se utiliza Cache) /// </summary> /// <param name="url"></param> /// <param name="speciesApi"></param> private void searchSpeciesWithCache(string url, out SpeciesApi speciesApi) { if (!string.IsNullOrEmpty(url)) { if (!_memoryCache.TryGetValue(url, out speciesApi)) { speciesApi = _swAPI.searchSpecies(url); _memoryCache.Set(url, speciesApi); } } else { speciesApi = null; } }
public static Character Map(CharacterApi characterApi, PlanetApi planetApi, SpeciesApi speciesApi, List <Rating> ratings) { Character result = new Character(); result.name = characterApi.name; result.height = characterApi.height; result.mass = characterApi.mass; result.hair_color = characterApi.hair_color; result.skin_color = characterApi.skin_color; result.eye_color = characterApi.eye_color; result.birth_year = characterApi.birth_year; result.gender = characterApi.gender; result.homeworld = HomeWorldMapper.Map(planetApi); result.species_name = (speciesApi != null) ? speciesApi.name : ""; if (ratings != null && ratings.Count() > 0) { result.max_rating = ratings.Max(x => x.Score).ToString(); result.average_rating = Math.Round(ratings.Average(x => x.Score), 2).ToString(); } return(result); }