From ed345150b951e8f37a99d9f76f5f6ae033afa237 Mon Sep 17 00:00:00 2001 From: "chris.watts90@outlook.com" Date: Wed, 28 Feb 2018 19:45:12 +0000 Subject: [PATCH] fix issue with memory streams not being handled correctly through interfaces, using out variables. implement full export handling now with the finalised interface. --- .../FileExport/FileExportManager.cs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/RaceLapTimer/RaceLapTimer/Extensions/FileExport/FileExportManager.cs b/RaceLapTimer/RaceLapTimer/Extensions/FileExport/FileExportManager.cs index b848860..a804022 100644 --- a/RaceLapTimer/RaceLapTimer/Extensions/FileExport/FileExportManager.cs +++ b/RaceLapTimer/RaceLapTimer/Extensions/FileExport/FileExportManager.cs @@ -19,11 +19,22 @@ namespace RaceLapTimer.Extensions.FileExport return _exporters; } - public Stream Export(string fileContent, string baseUrl) + public void Export(string exportType, string fileContent, string baseUrl, out Stream exportStream) { - if(_exporters.Any()) - return _exporters.First().Export(fileContent, baseUrl); - return new MemoryStream(); + if (_exporters.Any()) + { + var exporter = _exporters.FirstOrDefault(x => x.GetDetails().Type == exportType); + if (exporter != null) + { + exporter.Export(fileContent, baseUrl, out exportStream); + } + else + { + exportStream = new MemoryStream(); + } + } + else + exportStream = new MemoryStream(); } public List GetExporterDetails()