LocationContainerDistanceGroupMinimum
This commit is contained in:
@ -6,11 +6,20 @@ namespace View_by_Distance.Map.Models.Stateless;
|
||||
internal abstract class DecadeLogic
|
||||
{
|
||||
|
||||
internal static string GetDecade(MappingFromItem mappingFromItem)
|
||||
internal static string GetDecade(MappingFromItem? mappingFromItem, DateOnly? dateOnly)
|
||||
{
|
||||
string result;
|
||||
string year;
|
||||
if (mappingFromItem.DateTimeOriginal is null)
|
||||
if (mappingFromItem is null && dateOnly is null)
|
||||
throw new NotSupportedException();
|
||||
if (dateOnly is not null)
|
||||
{
|
||||
year = dateOnly.Value.Year.ToString();
|
||||
result = year[3] > '4' ? $"#{year[..3]}+" : $"#{year[..3]}-";
|
||||
}
|
||||
else if (mappingFromItem is null)
|
||||
throw new NotSupportedException();
|
||||
else if (mappingFromItem.DateTimeOriginal is null)
|
||||
{
|
||||
year = mappingFromItem.MinimumDateTime.Year.ToString();
|
||||
result = year[3] > '4' ? $"#{year[..3]}+" : $"#{year[..3]}-";
|
||||
@ -26,7 +35,6 @@ internal abstract class DecadeLogic
|
||||
internal static void SetCreationTimeMaybeMoveToDecade(Property.Models.Configuration propertyConfiguration, bool moveToDecade, MappingFromItem mappingFromItem, ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> locationContainers)
|
||||
{
|
||||
DateTime dateTime;
|
||||
FileInfo fileInfo;
|
||||
string halfDecade;
|
||||
string checkDirectory;
|
||||
string? yearDirectory;
|
||||
@ -37,11 +45,10 @@ internal abstract class DecadeLogic
|
||||
string? personKeyFormattedDirectoryName;
|
||||
foreach (LocationContainer<MetadataExtractor.Directory> locationContainer in locationContainers)
|
||||
{
|
||||
fileInfo = new(locationContainer.File);
|
||||
if (!fileInfo.Exists)
|
||||
if (!File.Exists(locationContainer.File))
|
||||
continue;
|
||||
dateTime = mappingFromItem.DateTimeOriginal is null ? mappingFromItem.MinimumDateTime : mappingFromItem.DateTimeOriginal.Value;
|
||||
if (fileInfo.CreationTime != dateTime)
|
||||
if (locationContainer.CreationDateOnly.Year != dateTime.Year || locationContainer.CreationDateOnly.Month != dateTime.Month || locationContainer.CreationDateOnly.Day != dateTime.Day)
|
||||
File.SetCreationTime(locationContainer.File, dateTime);
|
||||
if (!moveToDecade)
|
||||
continue;
|
||||
@ -59,7 +66,7 @@ internal abstract class DecadeLogic
|
||||
personKeyFormattedDirectoryName = Path.GetFileName(personKeyFormattedDirectory);
|
||||
if (personKeyFormattedDirectoryName.Length != propertyConfiguration.PersonBirthdayFormat.Length)
|
||||
break;
|
||||
halfDecade = GetDecade(mappingFromItem);
|
||||
halfDecade = GetDecade(mappingFromItem, null);
|
||||
if (halfDecade == yearDirectoryName)
|
||||
continue;
|
||||
checkDirectory = Path.Combine(personKeyFormattedDirectory, halfDecade, personNameDirectoryName);
|
||||
|
Reference in New Issue
Block a user