Ignore bug
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user