private List <StarTranslationMemoryMetadata> GetTransitTmsForLanguagePair(string pathToTempFolder, string packageName, LanguagePair languagePair) { var availableTms = new List <StarTranslationMemoryMetadata>(); var metadataFileInfo = new MetadataFileInfo { SourceMtFilesPath = new List <string>(), SourceTmFilesPath = new List <string>(), TargetMtFilesPath = new List <string>(), TargetTmFilesPath = new List <string>() }; var sourceFilesExtension = Path.GetExtension(languagePair.SourceFile[0]); var targetFilesExtension = Path.GetExtension(languagePair.TargetFile[0]); if (!_fileService.AreFilesExtensionsSupported(sourceFilesExtension, targetFilesExtension)) { return(availableTms); } //_AXTR TMs/MTs var tempDirInfo = new DirectoryInfo(pathToTempFolder); var allTms = tempDirInfo.GetFiles("_AEXTR_*", SearchOption.TopDirectoryOnly).GroupBy(f => f.Extension); GroupTmsIntoLists(allTms, targetFilesExtension, sourceFilesExtension, metadataFileInfo); SetAvailableTms(availableTms, languagePair, metadataFileInfo, packageName); //Ref folder tms var refFolderPath = Path.Combine(pathToTempFolder, "REF"); if (Directory.Exists(refFolderPath)) { var refFolderDirectories = Directory.GetDirectories(refFolderPath); foreach (var subDirectory in refFolderDirectories) { var subDirFileInfo = new DirectoryInfo(subDirectory).GetFiles().GroupBy(f => f.Extension); GroupTmsIntoLists(subDirFileInfo, targetFilesExtension, sourceFilesExtension, metadataFileInfo); } metadataFileInfo.IsRefFolderMetadata = true; SetAvailableTms(availableTms, languagePair, metadataFileInfo, packageName); } if (availableTms.Any()) { languagePair.HasTm = true; } return(availableTms); }