diff --git a/Controllers/ChartsController.cs b/Controllers/ChartsController.cs index 0fc963e..055a9b4 100644 --- a/Controllers/ChartsController.cs +++ b/Controllers/ChartsController.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using EFB.Models; +using EFB.Models.JSON; using EFB.Controllers.Form; using EFB.Sessions; @@ -31,9 +32,11 @@ namespace EFB.Controllers var charts = await ChartModel.FetchAsync(ICAO); if (charts != null) { - ChartModel chartModel = new ChartModel(charts); - // return ViewCharts(chartModel); - HttpContext.Session.SetObject("Charts", chartModel); + ChartModel chartModel = new ChartModel(ICAO, charts); + //Save the current chart into user model for later access + UserModel user = HttpContext.Session.GetObject("User"); + user.CurrentCharts = chartModel; + HttpContext.Session.SetObject("User", user); return RedirectToAction("ViewCharts"); } }else @@ -43,8 +46,8 @@ namespace EFB.Controllers return View(); } - public IActionResult ViewCharts(){ - ChartModel charts = HttpContext.Session.GetObject("Charts"); + public IActionResult ViewCharts(Chart chart){ + ChartModel charts = HttpContext.Session.GetObject("User").CurrentCharts; if (charts != null) { return View("ViewCharts", charts); diff --git a/Controllers/RouteController.cs b/Controllers/RouteController.cs index 632186c..635934d 100644 --- a/Controllers/RouteController.cs +++ b/Controllers/RouteController.cs @@ -163,13 +163,13 @@ namespace EFB.Controllers ChartList departureCharts = await requestDepartureCharts; if (departureCharts != null) { - user.DepartureCharts = new ChartModel(departureCharts); + user.DepartureCharts = new ChartModel(departure, departureCharts); } ChartList arrivalCharts = await requestArrivalCharts; if (arrivalCharts != null) { - user.ArrivalCharts = new ChartModel(arrivalCharts); + user.ArrivalCharts = new ChartModel(arrival, arrivalCharts); } //fill in route diff --git a/Models/ChartModel.cs b/Models/ChartModel.cs index 3483e3e..f3b25bf 100644 --- a/Models/ChartModel.cs +++ b/Models/ChartModel.cs @@ -18,6 +18,7 @@ namespace EFB.Models { public class ChartModel { + public string ICAO { get; set; } public Chart[] General { get; set; } public Chart[] TextualData { get; set; } public Chart[] GroundLayout { get; set; } @@ -31,8 +32,9 @@ namespace EFB.Models public ChartModel(){ //Empty constructor for JSON Serialisation Purposes } - public ChartModel(ChartList response) + public ChartModel(string ICAO, ChartList response) { + this.ICAO = ICAO; General = FillChart(response.General); TextualData = FillChart(response.TextualData); GroundLayout = FillChart(response.GroundLayout); diff --git a/Models/UserModel.cs b/Models/UserModel.cs index 5def0bb..86860a2 100644 --- a/Models/UserModel.cs +++ b/Models/UserModel.cs @@ -27,7 +27,7 @@ namespace EFB.Models //Contains the Departure and Arrival Charts for the user's route public ChartModel DepartureCharts { get; set; } public ChartModel ArrivalCharts { get; set; } - public ChartModel CurrentChart { get; set; } + public ChartModel CurrentCharts { get; set; } //Contains the most recently stored position of the user in the simulator public object SimPosition { get; set; } = null; diff --git a/Views/Charts/ViewCharts.cshtml b/Views/Charts/ViewCharts.cshtml index 8d895a8..fceb14b 100644 --- a/Views/Charts/ViewCharts.cshtml +++ b/Views/Charts/ViewCharts.cshtml @@ -32,7 +32,7 @@
-

Charts for: @Model.Approach[0].Name

+

Charts for: @Model.ICAO