Removed GetMissingFaceDistanceContainer
This commit is contained in:
@ -582,7 +582,7 @@ public class MapLogic : Shared.Models.Methods.IMapLogic
|
||||
Stateless.MapLogic.SaveMappingShortcuts(mappingDirectory);
|
||||
}
|
||||
|
||||
public List<Sorting> GetSortingCollection(int i, FaceDistance faceDistanceEncoding, List<FaceDistance> faceDistanceLengths)
|
||||
public List<Sorting> GetSortingCollection(int i, FaceDistance faceDistanceEncoding, Face face, List<FaceDistance> faceDistanceLengths)
|
||||
{
|
||||
if (_Configuration is null)
|
||||
throw new NullReferenceException(nameof(_Configuration));
|
||||
@ -591,22 +591,20 @@ public class MapLogic : Shared.Models.Methods.IMapLogic
|
||||
FaceDistance faceDistanceLength;
|
||||
List<int>? wholePercentagesCollection;
|
||||
bool skipNotSkipCollectionAny = _SkipNotSkipCollection.Count > 0;
|
||||
ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>? wholePercentagesToPersonContainers;
|
||||
for (int j = 0; j < faceDistanceLengths.Count; j++)
|
||||
{
|
||||
if (faceDistanceEncoding.WholePercentages is null)
|
||||
throw new NotSupportedException();
|
||||
if (face.Mapping?.MappingFromFilter is null)
|
||||
throw new NotSupportedException();
|
||||
if (j == i)
|
||||
continue;
|
||||
if (_SkipCollection.TryGetValue(faceDistanceEncoding.Id, out wholePercentagesCollection) && wholePercentagesCollection.Contains(faceDistanceEncoding.WholePercentages.Value))
|
||||
continue;
|
||||
if (skipNotSkipCollectionAny && (!_SkipNotSkipCollection.TryGetValue(faceDistanceEncoding.Id, out wholePercentagesCollection) || !wholePercentagesCollection.Contains(faceDistanceEncoding.WholePercentages.Value)))
|
||||
continue;
|
||||
if (_IdThenWholePercentagesToPersonContainers.TryGetValue(faceDistanceEncoding.Id, out wholePercentagesToPersonContainers))
|
||||
{
|
||||
if (wholePercentagesToPersonContainers.ContainsKey(faceDistanceEncoding.WholePercentages.Value))
|
||||
continue;
|
||||
}
|
||||
if (face.Mapping.MappingFromFilter.IsUsed is not null && face.Mapping.MappingFromFilter.IsUsed.Value)
|
||||
continue;
|
||||
faceDistanceLength = faceDistanceLengths[j];
|
||||
if (faceDistanceLength.WholePercentages is null || faceDistanceLength.Length is null)
|
||||
throw new NotSupportedException();
|
||||
@ -1223,18 +1221,6 @@ public class MapLogic : Shared.Models.Methods.IMapLogic
|
||||
}
|
||||
}
|
||||
|
||||
public ReadOnlyDictionary<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> GetMissing(ReadOnlyDictionary<int, ReadOnlyDictionary<int, Mapping>> idToWholePercentagesToMapping)
|
||||
{
|
||||
Dictionary<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> results = new();
|
||||
foreach (KeyValuePair<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> idToCollection in _IdThenWholePercentagesToPersonContainers)
|
||||
{
|
||||
if (idToWholePercentagesToMapping.ContainsKey(idToCollection.Key))
|
||||
continue;
|
||||
results.Add(idToCollection.Key, idToCollection.Value);
|
||||
}
|
||||
return new(results);
|
||||
}
|
||||
|
||||
public ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>? GetWholePercentagesToPersonContainers(int? id)
|
||||
{
|
||||
ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>? result;
|
||||
@ -1245,23 +1231,26 @@ public class MapLogic : Shared.Models.Methods.IMapLogic
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool IsUsed(bool ignoreXMatches, int id, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>? wholePercentagesToPersonContainers, MappingFromLocation mappingFromLocation)
|
||||
private bool IsUsed(bool ignoreXMatches, int id, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>? wholePercentagesToPersonContainers, int wholePercentages)
|
||||
{
|
||||
bool result;
|
||||
List<int>? wholePercentagesCollection;
|
||||
ReadOnlyCollection<PersonContainer>? personContainers;
|
||||
result = _SkipCollection.TryGetValue(id, out wholePercentagesCollection) && wholePercentagesCollection.Contains(mappingFromLocation.WholePercentages);
|
||||
result = _SkipCollection.TryGetValue(id, out wholePercentagesCollection) && wholePercentagesCollection.Contains(wholePercentages);
|
||||
if (!result && wholePercentagesToPersonContainers is not null)
|
||||
{
|
||||
if (wholePercentagesToPersonContainers.TryGetValue(mappingFromLocation.WholePercentages, out personContainers))
|
||||
if (wholePercentagesToPersonContainers.TryGetValue(wholePercentages, out personContainers))
|
||||
{
|
||||
if (!ignoreXMatches || personContainers.All(l => IPerson.IsDefaultName(l)))
|
||||
if (!ignoreXMatches || !personContainers.Any(l => IPerson.IsDefaultName(l)))
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool IsUsed(bool ignoreXMatches, int id, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>? wholePercentagesToPersonContainers, MappingFromLocation mappingFromLocation) =>
|
||||
IsUsed(ignoreXMatches, id, wholePercentagesToPersonContainers, mappingFromLocation.WholePercentages);
|
||||
|
||||
public bool InSkipCollection(int id, MappingFromLocation mappingFromLocation) =>
|
||||
_SkipCollection.TryGetValue(id, out List<int>? wholePercentagesCollection) && wholePercentagesCollection.Contains(mappingFromLocation.WholePercentages);
|
||||
|
||||
|
Reference in New Issue
Block a user