private List<DuplicateArchiveInfoList> CleanUpDuplicate(List<DuplicateArchiveInfoList> dupList)
{
int index = 0;
while (index < dupList.Count)
{
NotifyCaller(" Cleaning " + (index + 1) + " of " + dupList.Count, OperationStatus.FILTERING);
if (dupList[index].Duplicates == null)
{
NotifyCaller("Removing: " + dupList[index].Original.Filename, OperationStatus.FILTERING);
dupList.RemoveAt(index);
}
else
{
dupList[index].Original.DupGroup = index;
foreach (var dup in dupList[index].Duplicates)
{
dup.DupGroup = index;
}
++index;
}
}
NotifyCaller("Total: " + dupList.Count + " duplicate groups", OperationStatus.COMPLETE, dupList, total: dupList.Count);
return dupList;
}