/// <summary> /// Get the translation by order of preferrence. /// </summary> /// <param name="concatenateListOfCodeLanguages"></param> /// <param name="translationCodes"></param> /// <returns></returns> public async Task <Dictionary <string, string> > GetTranslationsAsync(string concatenateListOfCodeLanguages, List <string> translationCodes) { if (translationCodes == null) { throw new ArgumentNullException("translationCodes"); } var preferredLanguage = await GetPreferredLanguage(concatenateListOfCodeLanguages); var result = new Dictionary <string, string>(); foreach (var translationCode in translationCodes) { var record = await _translationRepository.GetAsync(preferredLanguage, translationCode); if (record != null) { result.Add(record.Code, record.Value); } else { result.Add(translationCode, string.Format("[{0}]", translationCode)); } } return(result); }