Ignore bug

This commit is contained in:
2023-04-10 17:26:04 -07:00
parent 4d0739dee6
commit 0a553c50ff
5 changed files with 92 additions and 8 deletions

View File

@ -800,7 +800,80 @@ public class MapLogic : Shared.Models.Methods.IMapLogic
}
}
public void CopyAtLeastOneMappedFiles(string dFacesContentDirectory, string a2PeopleSingletonDirectory, Mapping[] mappingCollection)
private List<string> GetDirectories(string a2PeopleSingletonDirectory, Mapping[] mappingCollection)
{
if (_Configuration is null)
throw new NullReferenceException(nameof(_Configuration));
List<string> results = new();
long personKey;
string directory;
string? directoryName;
PersonContainer? personContainer;
Dictionary<long, int> personKeyToCount = new();
for (int i = 1; i < 3; i++)
{
foreach (Mapping mapping in mappingCollection)
{
if (mapping.MappingFromLocation is null || mapping.MappingFromPerson is null)
continue;
if (mapping.By is null or Shared.Models.Stateless.IMapLogic.Sorting)
continue;
if (string.IsNullOrEmpty(mapping.MappingFromPerson.SegmentB))
throw new NotSupportedException();
if (string.IsNullOrEmpty(mapping.MappingFromPerson.DisplayDirectoryName))
throw new NotSupportedException();
personKey = mapping.MappingFromPerson.PersonBirthday.Value.Ticks;
if (mapping.MappingFromItem.ResizedFileHolder.DirectoryName is null || !mapping.MappingFromItem.ResizedFileHolder.Exists)
continue;
directoryName = Path.GetDirectoryName(mapping.MappingFromItem.RelativePath);
if (directoryName is null)
throw new NotSupportedException();
if (!_PersonKeyToPersonContainer.TryGetValue(personKey, out personContainer))
continue;
if (personContainer.Char is null || !_Configuration.PersonCharacters.Contains(personContainer.Char.Value))
continue;
if (i == 1)
{
if (!personKeyToCount.ContainsKey(personKey))
personKeyToCount.Add(personKey, 0);
personKeyToCount[personKey]++;
}
else if (i == 2)
{
directory = Path.Combine(a2PeopleSingletonDirectory, personContainer.Char.Value.ToString(), personContainer.DisplayDirectoryName, personKeyToCount[personKey].ToString("0000"));
if (results.Contains(directory))
continue;
results.Add(directory);
}
else
throw new NotSupportedException();
}
}
return results;
}
public void SavePersonKeyToCount(string dFacesContentDirectory, string a2PeopleSingletonDirectory, Mapping[] mappingCollection)
{
List<string> directories = GetDirectories(a2PeopleSingletonDirectory, mappingCollection);
string directoryName;
string? personNameDirectory;
DateTime dateTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).AddDays(1);
foreach (string directory in directories)
{
if (Directory.Exists(directory))
continue;
_ = Directory.CreateDirectory(directory);
directoryName = Path.GetFileName(directory);
personNameDirectory = Path.GetDirectoryName(directory);
if (string.IsNullOrEmpty(personNameDirectory))
continue;
if (!int.TryParse(directoryName, out int count))
continue;
Directory.SetLastWriteTime(personNameDirectory, dateTime.AddMinutes(count));
}
}
public void CopyAtLeastOneMappedFiles(int personCharactersCopyCount, string dFacesContentDirectory, string a2PeopleSingletonDirectory, Mapping[] mappingCollection)
{
if (_Configuration is null)
throw new NullReferenceException(nameof(_Configuration));
@ -836,7 +909,7 @@ public class MapLogic : Shared.Models.Methods.IMapLogic
personKey = mapping.MappingFromPerson.PersonBirthday.Value.Ticks;
if (!personKeyToCount.ContainsKey(personKey))
personKeyToCount.Add(personKey, 0);
if (personKeyToCount[personKey] > _Configuration.PersonCharactersCopyCount)
if (personKeyToCount[personKey] > personCharactersCopyCount)
continue;
if (!_PersonKeyToPersonContainer.TryGetValue(personKey, out personContainer))
continue;