Example #1
0
        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();
        }