I have 3 lists of custom object BiometricLog
:
uploadedLog
, logsFromBiometric
and logsToBeUploaded
.
All data that matches uploadedLog
should be removed from logsFromBiometric
, then stored to logsToBeUploaded
.
I tried using this code:
logsToBeUploaded
= logsFromBiometric.Except(uploadedLogs).ToList()
but it doesn't work. Am i Missing something or doing something wrong?
Here is my full block of code.
var uploadedLogs = GetUploadedLogs();
var logsFromBiometric = new List<BiometricLog>();
var logsToBeUploaded = new List<BiometricLog>();
int counter = 0;
foreach (XmlNode biometric in biometricElements)
{
taskArray[counter] = Task<List<BiometricLog>>.Factory.StartNew(() => ConnectAndProcessBiometric(biometric));
counter++;
}
Task.WaitAll(taskArray);
foreach (var taskitem in taskArray)
{
logsFromBiometric.AddRange(taskitem.Result);
}
logsFromBiometric.RemoveAll(m => uploadedLogs.Contains(m));
logsToBeUploaded = logsFromBiometric.Except(uploadedLogs).ToList();