Example #1
0
        public async Task <IActionResult> ViewFanNameAndFavoritePlanet(string Url)
        {
            var fan = _fanService.GetMostRecentFan();

            var result = _fanService.CheckIfPlanetIsEntered(fan.Id, Url);

            if (result >= 1)
            {
                return(View("Error", new ErrorViewModel
                {
                    Message = "ERROR Planet is already saved as one of your favorties"
                }));
            }


            _fanService.AddFavoritePlanet(fan.Id, Url);
            var listofUrl = _fanService.FanFavPlanetUrl(fan.Id);

            var listOfPlanetNames = new List <PlanetsResponse>();

            foreach (var url in listofUrl.FanList) //validate add same planet here
            {
                var planetName = new PlanetsResponse();
                planetName = await _mapPlanet.ListOfFanFavPlanets(url.Url);

                listOfPlanetNames.Add(planetName);
            }
            var listOfPlanetNamesAndFanName = new FanAndFavoritePlanetViewModel();

            listOfPlanetNamesAndFanName.ListOfPlanets = listOfPlanetNames;
            listOfPlanetNamesAndFanName.Name          = fan.Name;

            return(View(listOfPlanetNamesAndFanName));
        }
Example #2
0
        public async Task <PlanetsResponse> ListOfFanFavPlanets(string url)
        {
            var planet = await _planetService.GetPlanetFromUrl(url);

            var planetName = new PlanetsResponse();

            planetName.Name = planet.name;
            planetName.Url  = planet.url;
            return(planetName);
        }
Example #3
0
        public async Task <IActionResult> DeleteResults(string Url)
        {
            var result            = _fanService.DeletePlanetFromFavorites(Url);
            var fan               = _fanService.GetMostRecentFan();
            var listOfPlanetNames = new List <PlanetsResponse>();

            foreach (var url in result.FanList) //validate add same planet here
            {
                var planetName = new PlanetsResponse();
                planetName = await _mapPlanet.ListOfFanFavPlanets(url.Url);

                listOfPlanetNames.Add(planetName);
            }
            var listOfPlanetNamesAndFanName = new FanAndFavoritePlanetViewModel();

            listOfPlanetNamesAndFanName.ListOfPlanets = listOfPlanetNames;
            listOfPlanetNamesAndFanName.Name          = fan.Name;
            return(View("ViewFanNameAndFavoritePlanet", listOfPlanetNamesAndFanName));
        }
        public async Task <PlanetsResponse> GetPlanetsAsync()
        {
            var planetsResponse = new PlanetsResponse();

            var starWarsPlanetsResponse = await _httpClient.GetAsync("/api/planets/");

            if (!starWarsPlanetsResponse.IsSuccessStatusCode)
            {
                throw new ExternalException("We're having problems with our StarWars Data Provider");
            }

            var content = await starWarsPlanetsResponse.Content.ReadAsStringAsync();

            var starWarsPlanets = JsonConvert.DeserializeObject <StarWarsPlanetsResponse>(content);

            planetsResponse.Planets = _mapper.Map <IEnumerable <Planet> >(starWarsPlanets);

            return(planetsResponse);
        }
Example #5
0
        public async Task <PlanetViewModel> MapFromApi()
        {
            var planetList = await _planetService.GetPlanets();

            var planets = new List <PlanetsResponse>();

            foreach (var planet in planetList /*.results*/)
            {
                var planetName = new PlanetsResponse();
                planetName.Name = planet.name;
                planetName.Url  = planet.url;
                planets.Add(planetName);
            }

            var planetNameViewModel = new PlanetViewModel();

            planetNameViewModel.ListOfPlanets = planets;

            return(planetNameViewModel);
        }