public static HomeWorld Map(PlanetApi planetApi) { HomeWorld result = new HomeWorld(); if (planetApi != null) { result.name = planetApi.name; result.population = planetApi.population; result.known_residents_count = planetApi.residents.Count().ToString(); } return(result); }
/// <summary> /// Busca un planeta en un servicio externo a partir del Id /// </summary> /// <param name="id"></param> /// <returns></returns> public PlanetApi searchPlanet(int id) { string response = ApiHelper.RunRequest(_appConfig["ExternalServicesURL:Planet"] + id.ToString() + "/", "", "GET", "application/json; charset=utf-8"); if (string.IsNullOrEmpty(response)) { return(null); } PlanetApi planetApi = deserializeResult <PlanetApi>(response); return(planetApi); }
/// <summary> /// Busca un planeta usando una URL especifica /// </summary> /// <param name="url"></param> /// <returns></returns> public PlanetApi searchPlanet(string url) { string response = ApiHelper.RunRequest(url, "", "GET", "application/json; charset=utf-8"); if (string.IsNullOrEmpty(response)) { return(null); } PlanetApi planetApi = deserializeResult <PlanetApi>(response); return(planetApi); }
/// <summary> /// Busca un planeta en una API segĂșn su url. (Y se utiliza Cache) /// </summary> /// <param name="homeworld"></param> /// <param name="planetApi"></param> private void searchPlanetWithCache(string url, out PlanetApi planetApi) { if (!string.IsNullOrEmpty(url)) { if (!_memoryCache.TryGetValue(url, out planetApi)) { planetApi = _swAPI.searchPlanet(url); _memoryCache.Set(url, planetApi); } } else { planetApi = 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); }