private static ICollection<FileInfo> GetScriptsToApply(string sourcePath, Database database, DatabaseHelper databaseHelper, FileSystemHelper fileSystemHelper) { var scriptFiles = fileSystemHelper.GetScriptFiles(sourcePath); if (scriptFiles == null) { return null; } var previouslyAppliedScripts = databaseHelper.GetPreviouslyAppliedScripts(database); var appliedScriptsLookup = previouslyAppliedScripts.ToDictionary(x => x.Filename, x => x.Hash); return scriptFiles.Where(x => !appliedScriptsLookup.ContainsKey(x.Name)).OrderBy(x => x.Name).ToList(); }