public ScriptFilesComparerBase CreateScriptFilesComparer <TScriptFileType>(DBCommands dbCommands, string folderPath) where TScriptFileType : ScriptFileTypeBase, new() { DBExecutedFiles dbExecutedFiles = new DBExecutedFiles(dbCommands, ScriptFileTypeBase.Create <TScriptFileType>()); ScriptFilesComparerBase scriptFilesComparer = null; if (typeof(TScriptFileType) == typeof(IncrementalScriptFileType)) { FileSystemScriptFiles fileSystemScriptFiles = new FileSystemScriptFiles(_fileChecksum, ScriptFileTypeBase.Create <TScriptFileType>(), folderPath); scriptFilesComparer = new IncrementalScriptFilesComparer(fileSystemScriptFiles, dbExecutedFiles); } else if (typeof(TScriptFileType) == typeof(RepeatableScriptFileType)) { FileSystemScriptFiles fileSystemScriptFiles = new FileSystemScriptFiles(_fileChecksum, ScriptFileTypeBase.Create <TScriptFileType>(), folderPath); scriptFilesComparer = new RepeatableScriptFilesComparer(fileSystemScriptFiles, dbExecutedFiles); } else if (typeof(TScriptFileType) == typeof(DevDummyDataScriptFileType)) { FileSystemScriptFiles fileSystemScriptFiles = new FileSystemScriptFiles(_fileChecksum, ScriptFileTypeBase.Create <TScriptFileType>(), folderPath); scriptFilesComparer = new DevDummyDataScriptFilesComparer(fileSystemScriptFiles, dbExecutedFiles); } return(scriptFilesComparer); }
public ScriptFilesComparerBase(FileSystemScriptFiles fileSystemScriptFiles, DBExecutedFiles dbExecutedFiles) { fileSystemScriptFiles.ThrowIfNull(nameof(fileSystemScriptFiles)); dbExecutedFiles.ThrowIfNull(nameof(dbExecutedFiles)); ScriptFileType = fileSystemScriptFiles.ScriptFileType; FileSystemScriptFiles = fileSystemScriptFiles; DBExecutedFiles = dbExecutedFiles; SetIsHashDifferentFlag(); CreateFileExistInDBButNotExistInSystemList(fileSystemScriptFiles); }