Exemple #1
0
        protected override ReleaseAudit GetChunkImpl(IDataLoadEventListener listener, GracefulCancellationToken cancellationToken)
        {
            DirectoryInfo sourceFolder = GetSourceFolder();

            Debug.Assert(sourceFolder != null, "sourceFolder != null");
            var dbOutputFolder = sourceFolder.CreateSubdirectory(ExtractionDirectory.MASTER_DATA_FOLDER_NAME);

            var releaseAudit = new ReleaseAudit()
            {
                SourceGlobalFolder = PrepareSourceGlobalFolder()
            };

            if (_database != null)
            {
                _database.Detach();
                var databaseName = _database.GetRuntimeName();

                File.Copy(Path.Combine(_dataPathMap.FullName, databaseName + ".mdf"), Path.Combine(dbOutputFolder.FullName, databaseName + ".mdf"));
                File.Copy(Path.Combine(_dataPathMap.FullName, databaseName + "_log.ldf"), Path.Combine(dbOutputFolder.FullName, databaseName + "_log.ldf"));
                File.Delete(Path.Combine(_dataPathMap.FullName, databaseName + ".mdf"));
                File.Delete(Path.Combine(_dataPathMap.FullName, databaseName + "_log.ldf"));
            }

            return(releaseAudit);
        }