Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
 /// <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;
     }
 }
Example #5
0
        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);
        }