public void Export( string gameFolderPath, string gameExecutableFilePath, string englishLanguageFilePath, string frenchLanguageFilePath, string germanLanguageFilePath, string englishCommentaryFilePath, string frenchCommentaryFilePath, string germanCommentaryFilePath) { _dataConnection.Initialise( gameFolderPath, gameExecutableFilePath, englishLanguageFilePath, frenchLanguageFilePath, germanLanguageFilePath, englishCommentaryFilePath, frenchCommentaryFilePath, germanCommentaryFilePath); // Validate connection prior to export var validationMessages = _dataConnectionValidationService.Validate(_dataConnection); if (validationMessages.Any()) { throw new Exception("Failed to validate data connection."); } // Export from domain layer into data layer _domainModelExportService.Export(); // Export from data layer into files _dataExportService.Export(_dataConnection); // Export configuration changes to game executable _gameExecutableCodePatcher.ExportConfiguration(DomainModel, gameExecutableFilePath); }