private IEnumerable <string> CheckForChangedFiles() { var files = FileProvider.GetFileNames().ToArray(); var existingFileInfo = Sql.GetFiles(); foreach (var file in files) { if (!existingFileInfo.Any(fi => fi.Name == file)) { Sql.SetFileHash(file, FileProvider.FileDigest(file)); yield return(file); } else { var newHash = FileProvider.FileDigest(file); var oldHash = Sql.GetFileHash(file); if (newHash != oldHash) { Sql.SetFileHash(file, newHash); yield return(file); } } } }