From ba2835f07b458aa6bba45fea64a152732a134bf3 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Mon, 14 Oct 2024 15:43:06 -0700 Subject: [PATCH] Ready to test --- Adaptation/MET08AWCT.Tests.csproj | 24 ++++----- Adaptation/Shared/FileRead.cs | 50 ++++++++++++++----- Adaptation/_Tests/Shared/AdaptationTesting.cs | 4 +- 3 files changed, 52 insertions(+), 26 deletions(-) diff --git a/Adaptation/MET08AWCT.Tests.csproj b/Adaptation/MET08AWCT.Tests.csproj index 71bcec4..12d111c 100644 --- a/Adaptation/MET08AWCT.Tests.csproj +++ b/Adaptation/MET08AWCT.Tests.csproj @@ -49,23 +49,23 @@ - + - - - - - + + + + + - - + + NU1701 - - + + - - + + diff --git a/Adaptation/Shared/FileRead.cs b/Adaptation/Shared/FileRead.cs index 464ef0b..4b6f3fc 100644 --- a/Adaptation/Shared/FileRead.cs +++ b/Adaptation/Shared/FileRead.cs @@ -489,6 +489,43 @@ public class FileRead : Properties.IFileRead } } + protected static void NestExistingFiles(FileConnectorConfiguration fileConnectorConfiguration) + { + if (!fileConnectorConfiguration.IncludeSubDirectories.Value) + { + string[] matches = GetMatches(fileConnectorConfiguration); + if (matches is not null && matches.Length > 0) + { + string fileName; + string nestedDirectory = Path.Combine(fileConnectorConfiguration.SourceFileLocation, DateTime.Now.Ticks.ToString()); + if (!Directory.Exists(nestedDirectory)) + _ = Directory.CreateDirectory(nestedDirectory); + foreach (string match in matches) + { + fileName = Path.GetFileName(match); + File.Move(match, Path.Combine(nestedDirectory, fileName)); + } + } + } + } + + protected static string[] GetMatches(FileConnectorConfiguration fileConnectorConfiguration) + { + string[] segments; + string[] results = null; + foreach (string subSourceFileFilter in fileConnectorConfiguration.SourceFileFilters) + { + segments = subSourceFileFilter.Split('\\'); + if (fileConnectorConfiguration.IncludeSubDirectories.Value) + results = Directory.GetFiles(fileConnectorConfiguration.SourceFileLocation, segments.Last(), SearchOption.AllDirectories); + else + results = Directory.GetFiles(fileConnectorConfiguration.SourceFileLocation, segments.Last(), SearchOption.TopDirectoryOnly); + if (results.Length != 0) + break; + } + return results; + } + protected Tuple> ReExtract(IFileRead fileRead, List headerNames, Dictionary keyValuePairs) { Tuple> results; @@ -496,18 +533,7 @@ public class FileRead : Properties.IFileRead results = null; else { - string[] segments; - string[] matches = null; - foreach (string subSourceFileFilter in _FileConnectorConfiguration.SourceFileFilters) - { - segments = subSourceFileFilter.Split('\\'); - if (_FileConnectorConfiguration.IncludeSubDirectories.Value) - matches = Directory.GetFiles(_FileConnectorConfiguration.SourceFileLocation, segments.Last(), SearchOption.AllDirectories); - else - matches = Directory.GetFiles(_FileConnectorConfiguration.SourceFileLocation, segments.Last(), SearchOption.TopDirectoryOnly); - if (matches.Length != 0) - break; - } + string[] matches = GetMatches(_FileConnectorConfiguration); if (matches is null || matches.Length == 0) results = null; else diff --git a/Adaptation/_Tests/Shared/AdaptationTesting.cs b/Adaptation/_Tests/Shared/AdaptationTesting.cs index dad8ffe..8a341d4 100644 --- a/Adaptation/_Tests/Shared/AdaptationTesting.cs +++ b/Adaptation/_Tests/Shared/AdaptationTesting.cs @@ -974,8 +974,8 @@ public class AdaptationTesting : ISMTP } if (!string.IsNullOrEmpty(fileConnectorConfigurationTuple.Item2.AlternateTargetFolder)) { - if (!Directory.Exists(fileConnectorConfigurationTuple.Item2.AlternateTargetFolder)) - _ = Directory.CreateDirectory(fileConnectorConfigurationTuple.Item2.AlternateTargetFolder); + if (!Directory.Exists(fileConnectorConfigurationTuple.Item2.AlternateTargetFolder.Split('|')[0])) + _ = Directory.CreateDirectory(fileConnectorConfigurationTuple.Item2.AlternateTargetFolder.Split('|')[0]); } } catch (IOException ex)