Removed AlternateFileLines

Added NotNineCollection
This commit is contained in:
2023-11-12 00:20:02 -07:00
parent b692a9de5c
commit 4083e56af6
16 changed files with 98 additions and 118 deletions

View File

@ -2,6 +2,7 @@
using Microsoft.Extensions.Logging;
using Phares.Shared;
using ShellProgressBar;
using System.Collections.ObjectModel;
using View_by_Distance.Copy.Distinct.Models;
using View_by_Distance.Shared.Models;
using View_by_Distance.Shared.Models.Methods;
@ -34,7 +35,7 @@ public class CopyDistinct
_PropertyConfiguration = propertyConfiguration;
_Configuration = configuration;
logger?.LogInformation(propertyConfiguration.RootDirectory);
(bool move, List<string[]> filesCollection, bool anyLenFiles, bool moveBack) = Verify();
(bool move, ReadOnlyCollection<string[]> filesCollection, bool anyLenFiles, bool moveBack) = Verify();
_FileGroups = Shared.Models.Stateless.Methods.IPath.GetKeyValuePairs(propertyConfiguration, appSettings.CopyTo, [appSettings.ResultDirectoryKey]);
List<string> lines = CopyDistinctFilesInDirectories(logger, move, filesCollection, anyLenFiles, moveBack);
if (lines.Count != 0)
@ -42,7 +43,7 @@ public class CopyDistinct
_ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(propertyConfiguration.RootDirectory);
}
private (bool, List<string[]>, bool, bool) Verify()
private (bool, ReadOnlyCollection<string[]>, bool, bool) Verify()
{
if (_AppSettings is null)
throw new NullReferenceException(nameof(_AppSettings));
@ -62,7 +63,7 @@ public class CopyDistinct
const string directorySearchFilter = "*";
string copyTo = Path.GetFullPath(_AppSettings.CopyTo);
bool move = copyTo == _PropertyConfiguration.RootDirectory;
List<string[]> filesCollection = Shared.Models.Stateless.Methods.IDirectory.GetFilesCollection(_PropertyConfiguration.RootDirectory, directorySearchFilter, fileSearchFilter, useCeilingAverage);
ReadOnlyCollection<string[]> filesCollection = Shared.Models.Stateless.Methods.IDirectory.GetFilesCollection(_PropertyConfiguration.RootDirectory, directorySearchFilter, fileSearchFilter, useCeilingAverage);
bool anyLenFiles = filesCollection.Any(l => l.Any(m => m.EndsWith("len")));
if (!move)
moveBack = false;
@ -88,10 +89,10 @@ public class CopyDistinct
}
if (move && _AppSettings.IfCanUseId)
throw new NotSupportedException("Not allowed because it would irreversible!");
return (move, filesCollection, anyLenFiles, moveBack);
return (move, new(filesCollection), anyLenFiles, moveBack);
}
private static (string[], List<(FileHolder, string?, string)>) GetMoveBackToDoCollection(List<string[]> filesCollection)
private static (string[], List<(FileHolder, string?, string)>) GetMoveBackToDoCollection(ReadOnlyCollection<string[]> filesCollection)
{
List<(FileHolder, string?, string)> results = [];
string key;
@ -153,7 +154,7 @@ public class CopyDistinct
return (distinctDirectories.ToArray(), results);
}
private List<string> CopyDistinctFilesInDirectories(ILogger<Program>? logger, bool move, List<string[]> filesCollection, bool anyLenFiles, bool moveBack)
private List<string> CopyDistinctFilesInDirectories(ILogger<Program>? logger, bool move, ReadOnlyCollection<string[]> filesCollection, bool anyLenFiles, bool moveBack)
{
List<string> results = [];
ProgressBar progressBar;