61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
|
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<ChartsController> _logger;
|
||
|
|
||
|
public ChartsController(ILogger<ChartsController> logger)
|
||
|
{
|
||
|
_logger = logger;
|
||
|
}
|
||
|
|
||
|
public async Task<IActionResult> 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<ChartModel>("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!");
|
||
|
}
|
||
|
}
|
||
|
}
|