Итак, у меня есть этот блок кода в моем приложении, который сканирует каталог для файлов, составляет список с ними и сравнивает этот список со списком файлов из базы данных (если путь к этому каталогу существует в БД) и добавляет разницу между ними в один из двух других списков. Вот оно:
if (id > 0)
{
var dbDrawingList = mdl_drawing.GetDrawingsByBaseId(id);
var counter = 0;
if (dbDrawingList.Count() < serverDrawingList.Count())
{
counter = serverDrawingList.Count();
}
else
{
counter = dbDrawingList.Count();
}
for (int i = 0; i <= counter; i++)
{
if (i < serverDrawingList.Count())
{
if (dbDrawingList.Select(f => f.partNumber).Contains(serverDrawingList[i].partNumber) == false)
{
onServerAndNotDb.Add(serverDrawingList[i]);
}
}
if (i < dbDrawingList.Count())
{
if (serverDrawingList.Select(f => f.partNumber).Contains(dbDrawingList[i].partNumber) == false)
{
onDbAndNotServer.Add(dbDrawingList[i]);
}
}
}
serverDrawingList = null;
dbDrawingList = null;
}
У кого-нибудь есть лучший способ сделать это? (может быть несколько файлов с одинаковым именем, поэтому Except
метод не работает)