From f0a3bf908e52b18036e27d8aa139028579a75939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klomp?= Date: Sat, 24 Aug 2019 12:15:22 +0200 Subject: [PATCH] Provide Navaids to GetExportText of FileExport fixes #14 --- src/QSP/RouteFinding/FileExport/FileExporter.cs | 6 +++++- src/QSP/RouteFinding/FileExport/Providers/Types.cs | 4 +++- .../Presenters/FuelPlan/Routes/ActionContextMenuHelper.cs | 4 ++++ .../FuelPlan/Routes/ActionContextMenuPresenter.cs | 1 + .../UI/Presenters/FuelPlan/Routes/RouteFinderPresenter.cs | 3 ++- src/QSP/UI/UserControls/ExportMenu.cs | 6 ++++-- 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/QSP/RouteFinding/FileExport/FileExporter.cs b/src/QSP/RouteFinding/FileExport/FileExporter.cs index a1c64825..eb33caee 100644 --- a/src/QSP/RouteFinding/FileExport/FileExporter.cs +++ b/src/QSP/RouteFinding/FileExport/FileExporter.cs @@ -2,6 +2,7 @@ using QSP.Common.Options; using QSP.LibraryExtension; using QSP.RouteFinding.Airports; +using QSP.RouteFinding.Navaids; using QSP.RouteFinding.Routes; using QSP.Utilities; using System; @@ -17,16 +18,19 @@ public class FileExporter { private readonly Route route; private readonly AirportManager airports; + private readonly MultiMap navaids; private readonly IEnumerable commands; private readonly Func options; public FileExporter( Route route, + MultiMap navaids, AirportManager airports, IEnumerable commands, Func options) { this.route = route; + this.navaids = navaids; this.airports = airports; this.commands = commands; this.options = options; @@ -73,7 +77,7 @@ private Status Export(string nameBase, ExportCommand c, int i) : fileName; File.WriteAllText(newName, - Providers.Types.GetExportText(c.ProviderType, route, airports)); + Providers.Types.GetExportText(c.ProviderType, route, navaids, airports)); return new Status(newName, true, "", false); } catch (Exception ex) diff --git a/src/QSP/RouteFinding/FileExport/Providers/Types.cs b/src/QSP/RouteFinding/FileExport/Providers/Types.cs index 7dab5075..a4db3cc2 100644 --- a/src/QSP/RouteFinding/FileExport/Providers/Types.cs +++ b/src/QSP/RouteFinding/FileExport/Providers/Types.cs @@ -2,6 +2,7 @@ using QSP.LibraryExtension; using QSP.LibraryExtension.Sets; using QSP.RouteFinding.Airports; +using QSP.RouteFinding.Navaids; using QSP.RouteFinding.Routes; using QSP.Utilities; using System; @@ -201,11 +202,12 @@ public static string GetSimulatorPath(SimulatorType t) public static string GetExtension(ProviderType type) => Lookup[type].FileExtension; public static string GetExportText(ProviderType type, Route route, - AirportManager airports) + MultiMap navaids, AirportManager airports) { var input = new ExportInput() { Route = route, + Navaids = navaids, Airports = airports }; diff --git a/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuHelper.cs b/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuHelper.cs index e73c725e..54f55eea 100644 --- a/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuHelper.cs +++ b/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuHelper.cs @@ -13,6 +13,8 @@ using System.Windows.Forms; using static QSP.UI.Views.Factories.FormFactory; using System; +using QSP.LibraryExtension; +using QSP.RouteFinding.Navaids; namespace QSP.UI.Presenters.FuelPlan.Routes { @@ -33,6 +35,7 @@ public static void ExportRouteFiles( IMessageDisplay view, RouteGroup Route, IEnumerable cmds, + MultiMap Navaids, AirportManager airportList, ExportMenu menu) { @@ -46,6 +49,7 @@ public static void ExportRouteFiles( { menu.Location = new Point(0, 0); menu.Route = Route; + menu.Navaids = Navaids; menu.AirportList = airportList; frm.AutoSizeMode = AutoSizeMode.GrowAndShrink; diff --git a/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuPresenter.cs b/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuPresenter.cs index 008b1252..02e3d4af 100644 --- a/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuPresenter.cs +++ b/src/QSP/UI/Presenters/FuelPlan/Routes/ActionContextMenuPresenter.cs @@ -111,6 +111,7 @@ public void ExportRouteFiles() view, Route, AppOptions.ExportCommands, + airwayNetwork.Navaids, AirportList, exportMenu); } diff --git a/src/QSP/UI/Presenters/FuelPlan/Routes/RouteFinderPresenter.cs b/src/QSP/UI/Presenters/FuelPlan/Routes/RouteFinderPresenter.cs index db943dea..117d2fc8 100644 --- a/src/QSP/UI/Presenters/FuelPlan/Routes/RouteFinderPresenter.cs +++ b/src/QSP/UI/Presenters/FuelPlan/Routes/RouteFinderPresenter.cs @@ -184,9 +184,10 @@ public void ExportRouteFiles() Debug.Assert(view.IsAirportToAirport()); var o = model.FuelPlanningModel.AppOption.Instance; + var navaids = model.FuelPlanningModel.AirwayNetwork.Navaids; var airportList = model.FuelPlanningModel.AirwayNetwork.AirportList; var cmds = o.ExportCommands; - ActionContextMenuHelper.ExportRouteFiles(view, Route, cmds, airportList, exportMenu); + ActionContextMenuHelper.ExportRouteFiles(view, Route, cmds, navaids, airportList, exportMenu); } public void AnalyzeRoute() diff --git a/src/QSP/UI/UserControls/ExportMenu.cs b/src/QSP/UI/UserControls/ExportMenu.cs index 3d0d3466..c07db39a 100644 --- a/src/QSP/UI/UserControls/ExportMenu.cs +++ b/src/QSP/UI/UserControls/ExportMenu.cs @@ -2,6 +2,7 @@ using QSP.LibraryExtension; using QSP.RouteFinding.Airports; using QSP.RouteFinding.FileExport; +using QSP.RouteFinding.Navaids; using QSP.RouteFinding.Routes; using QSP.UI.Util; using QSP.UI.Views; @@ -19,9 +20,10 @@ public partial class ExportMenu : UserControl, IMessageDisplay private Locator appOption; private Action showOptions; - // These two properties are required for exporting the route. + // These three properties are required for exporting the route. public RouteGroup Route { get; set; } public AirportManager AirportList { get; set; } + public MultiMap Navaids { get; set; } public ExportMenu() { @@ -57,7 +59,7 @@ private void ExportFiles(object sender, EventArgs e) var o = UpdatedOption(); UpdateOption(o); - var writer = new FileExporter(Route.Expanded, AirportList, o.ExportCommands, + var writer = new FileExporter(Route.Expanded, Navaids, AirportList, o.ExportCommands, () => appOption.Instance); IEnumerable reports = null;