private List <AnonymizeTranslationMemory> GetTranslationUnitsToAnonymize(List <SourceSearchResult> selectedSearchResult) { var tusToAnonymize = new List <AnonymizeTranslationMemory>(); foreach (var selectedResult in selectedSearchResult) { foreach (var anonymizeUnits in _anonymizeTranslationMemories) { var tuToAnonymize = anonymizeUnits.TranslationUnits.FirstOrDefault(n => n.SourceSegment.ToPlain().Equals(selectedResult.SourceText)); if (tuToAnonymize != null) { // if there is an tm with the same path add translation units to that tm var anonymizeTu = tusToAnonymize.FirstOrDefault(t => t.TmPath.Equals(anonymizeUnits.TmPath)); if (anonymizeTu != null) { anonymizeTu.TranslationUnits.Add(tuToAnonymize); } else { var anonymizeTm = new AnonymizeTranslationMemory { TranslationUnits = new List <TranslationUnit>(), TmPath = anonymizeUnits.TmPath }; anonymizeTm.TranslationUnits.Add(tuToAnonymize); tusToAnonymize.Add(anonymizeTm); } } } } return(tusToAnonymize); }
/// <summary> /// Gets corresponding tus from TMs /// </summary> /// <param name="selectedSearchResult"></param> /// <returns></returns> private List <AnonymizeTranslationMemory> GetTranslationUnitsToAnonymize(List <SourceSearchResult> selectedSearchResult) { var tusToAnonymize = new List <AnonymizeTranslationMemory>(); foreach (var selectedResult in selectedSearchResult) { foreach (var anonymizeUnits in _anonymizeTranslationMemories) { var sourceTranslationUnit = anonymizeUnits.TranslationUnits.FirstOrDefault(n => n.SourceSegment.ToPlain().Equals(selectedResult.SourceText.TrimEnd())); var targetTranslationUnit = anonymizeUnits.TranslationUnits.FirstOrDefault(n => n.TargetSegment.ToPlain().Equals(selectedResult.TargetText.TrimEnd())); //TranslationUnit tuToAnonymize; if (sourceTranslationUnit != null || targetTranslationUnit != null) { // if there is an tm with the same path add translation units to that tm var anonymizeTu = tusToAnonymize.FirstOrDefault(t => t.TmPath.Equals(anonymizeUnits.TmPath)); TranslationUnit tuToAnonymize = new TranslationUnit(); if (sourceTranslationUnit != null) { tuToAnonymize = sourceTranslationUnit; } if (targetTranslationUnit != null) { tuToAnonymize = targetTranslationUnit; } //added for select custom words functionality var tranlationUnitDetails = new TranslationUnitDetails { TranslationUnit = tuToAnonymize, SelectedWordsDetails = selectedResult.SelectedWordsDetails, RemovedWordsFromMatches = selectedResult.DeSelectedWordsDetails, IsSourceMatch = selectedResult.IsSourceMatch, IsTargetMatch = selectedResult.IsTargetMatch, TargetSelectedWordsDetails = selectedResult.TargetSelectedWordsDetails, TargetRemovedWordsFromMatches = selectedResult.TargetDeSelectedWordsDetails }; if (anonymizeTu != null) { anonymizeTu.TranslationUnitDetails.Add(tranlationUnitDetails); anonymizeTu.TranslationUnits.Add(tuToAnonymize); } else { var anonymizeTm = new AnonymizeTranslationMemory { TranslationUnits = new List <TranslationUnit>(), TmPath = anonymizeUnits.TmPath, TranslationUnitDetails = new List <TranslationUnitDetails>(), }; anonymizeTm.TranslationUnitDetails.Add(tranlationUnitDetails); anonymizeTm.TranslationUnits.Add(tuToAnonymize); tusToAnonymize.Add(anonymizeTm); } } } } return(tusToAnonymize); }