using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using EFB.Models; using EFB.Controllers.Form; using EFB.Sessions; namespace EFB.Controllers { //[Route("[controller]")] public class ChartsController : Controller { private readonly ILogger _logger; public ChartsController(ILogger logger) { _logger = logger; } public async Task Index(string ICAO) { if(ICAO == null) return View(); if (FormAuthenticator.ValidateICAOCode(ICAO)) { var charts = await ChartModel.FetchAsync(ICAO); if (charts != null) { ChartModel chartModel = new ChartModel(charts); // return ViewCharts(chartModel); HttpContext.Session.SetObject("Charts", chartModel); return RedirectToAction("ViewCharts"); } }else { TempData["Error"] = "Invalid ICAO"; } return View(); } public IActionResult ViewCharts(){ ChartModel charts = HttpContext.Session.GetObject("Charts"); if (charts != null) { return View("ViewCharts", charts); } return RedirectToAction("Index"); } [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View("Error!"); } } }