示例#1
0
        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));
        }
示例#2
0
        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));
        }