Я бы подумал о пункте, начинающемся
for (int a = 0; a < files.Count; a++)
Вы уже находитесь в цикле foreach всех файлов:
foreach (var file in files)
EDIT
Если на диске Google есть десять файлов, вы сохраняете каждые десять раз, каждый перезаписывая десять копий предыдущего загруженного вами файла.
Вместо
for (int a = 0; a < files.Count; a++)
{
var filepath = @"I:\testing\downloaded11 "
var filepath2 = filepath + (a + 1) + ".pdf";
using (var filestream = new FileStream(filepath2, FileMode.Create, FileAccess.ReadWrite))
{
filestream.Write(stream.GetBuffer(), 0, stream.GetBuffer().Length);
}
}
попробуйте просто
var filepath = @"I:\testing\downloaded11\" + file.OriginalFilename;
using (var filestream = new FileStream(filepath, FileMode.Create, FileAccess.ReadWrite))
{
filestream.Write(stream.GetBuffer(), 0, stream.GetBuffer().Length);
}