// GET: Sites/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            ICollection <LevelDto> levelsDto = null;

            if (id == null)
            {
                return(NotFound());
            }
            SiteAndFlightsDto viewSite = new SiteAndFlightsDto();

            using (var httpClient = new HttpClient())
            {
                using (var response = await httpClient.GetAsync($"http://localhost:50106/api/v1/sites/{id}"))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    viewSite = JsonConvert.DeserializeObject <SiteAndFlightsDto>(apiResponse);
                }
            }

            using (var httpClient = new HttpClient())
            {
                using (var response = await httpClient.GetAsync("http://localhost:50106/api/v1/levels/"))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        levelsDto = JsonConvert.DeserializeObject <ICollection <LevelDto> >(apiResponse);
                    }
                }
            }
            ViewData["LevelID"] = new SelectList(levelsDto, "LevelID", "Name");
            return(View(viewSite));
        }
        // GET: Sites/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            SiteAndFlightsDto viewSite = new SiteAndFlightsDto();

            using (var httpClient = new HttpClient())
            {
                using (var response = await httpClient.GetAsync($"http://localhost:50106/api/v1/sites/{id}"))
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        viewSite = JsonConvert.DeserializeObject <SiteAndFlightsDto>(apiResponse);
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
            }

            return(View(viewSite));
        }
Example #3
0
        public async Task <ActionResult <SiteAndFlightsDto> > GetSiteAsync([FromRoute] int id)
        {
            SiteAndFlightsDto siteAndFlightsDto = new SiteAndFlightsDto();

            var site = await _sitesService.GetSiteAsync(id);

            if (site == null)
            {
                return(NotFound("Couldn't find any associated Site"));
            }
            var flights = await _flightService.GetFlightsBySite(id);

            if (flights == null)
            {
                return(NotFound("Couldn't find any associated flight"));
            }

            siteAndFlightsDto.SiteDto    = site;
            siteAndFlightsDto.FlightsDto = flights;

            return(Ok(siteAndFlightsDto));
        }