private List <StatisticViewModel> GetStatisticViewModels() { List <StatisticViewModel> result = new List <StatisticViewModel>(); LanguagesRepository languagesRepository = new LanguagesRepository(); LanguagesTranslationsRepository languagesTranslationsRepository = new LanguagesTranslationsRepository(); IEnumerable <Languages> languages = languagesRepository.GetAll(); List <int> languagesId = languages.Select(l => l.Id).ToList(); List <CategoryStatistic> categoryStatistics = FillCategory(); foreach (var languageId in languagesId) { IEnumerable <LanguageTranslations> languageTranslationsList = languagesTranslationsRepository.GetAll(); var id = languageId; string langName = languageTranslationsList .First(l => l.LangId == id && l.NativeLangId == _userLanguageId).Translation; List <CategoryStatistic> listToCopy = Helper.DeepClone(categoryStatistics); result.Add(new StatisticViewModel { LanguageName = langName, CategoryStatistics = listToCopy, LanguageId = languageId }); } StatisticViewModel[] statisticArray = new StatisticViewModel[result.Count]; for (int j = 0; j < statisticArray.Length; j++) { statisticArray[j] = FillResults(result[j]); } return(result); }
public IActionResult GetAllLanguages() { List <Languages> languages = new LanguagesRepository().GetAll().ToList(); List <LanguageTranslations> languageTranslations = new LanguagesTranslationsRepository().GetAll().ToList(); var result = (from language in languages join langTranslation in languageTranslations on language.Id equals langTranslation.LangId where langTranslation.NativeLangId == language.Id select new { Translation = langTranslation.Translation, Id = language.Id }).ToList(); string json = JsonConvert.SerializeObject(result); return(Ok(json)); }