public async Task <IActionResult> Languages() { var languages = await languageRepository.GetLanguagesAsync(); languages = languages.OrderBy(l => l.EnglishName); var user = await userManager.GetUserAsync(HttpContext.User); var userLanguages = await userLanguageRepository.GetUserLanguagesByUserIdAsync(user.Id); var justLanguages = userLanguages.Select(ul => ul.Language); var model = new List <BrowseLanguagesViewModel>(); foreach (var lang in languages) { var vm = new BrowseLanguagesViewModel { Language = lang }; if (justLanguages.Contains(lang)) { vm.IsLearning = true; } else { vm.IsLearning = false; } model.Add(vm); } return(View(model)); }
public async Task <IActionResult> Language(int id) { var language = await languageRepository.GetLanguageAsync(id); if (language == null) { return(NotFound()); } var user = await userManager.GetUserAsync(HttpContext.User); var isLearning = userLanguageRepository.IsLearning(user.Id, language.LanguageId); var model = new BrowseLanguagesViewModel { Language = language, IsLearning = isLearning }; return(View(model)); }