Removed AlternateFileLines
Added NotNineCollection
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user