private MessageModel SetLanguagePairInformation( IProject newProject, PackageModel package) { if (package?.LanguagePairs != null) { foreach (var pair in package.LanguagePairs) { if (!pair.TargetFile.Any() || pair.TargetFile.Count == 0) { _messageModel.IsProjectCreated = false; _messageModel.Message = "Project was not created correctly because no target files were found in the package!"; _messageModel.Title = "Informative message"; return(_messageModel); } if (pair.CreateNewTm) { //TODO:Investigate and refactor foreach (var starTmMetadata in pair.StarTranslationMemoryMetadatas) { AddTmPenalties(package, starTmMetadata); AddMtMemories(package, starTmMetadata); } //TODO: Investigate if we really need this later we'll join the mt and tms becasue // Remove found items from pair.StarTranslationMemoryMetadatas (the remained ones are those which does not have penalties set on them) foreach (var item in _penaltiesTmsList) { pair.StarTranslationMemoryMetadatas.Remove(item); } // Remove Machine Translation memories from pair.StarTranslationMemoryMetadatas, if the user requests them, they will be imported separately, but never in the main TM pair.StarTranslationMemoryMetadatas.RemoveAll(item => Path.GetFileName(item?.TargetFile ?? "").Contains("_AEXTR_MT_")); } _targetProjectFiles?.Clear(); // Import language pair TM if any ImportLanguagePairTm(pair, newProject, package); _targetProjectFiles?.AddRange(newProject.AddFiles(pair.TargetFile.ToArray())); _messageModel = UpdateProjectSettings(newProject); } _projectsController?.RefreshProjects(); } return(_messageModel); }