public Task <IViewComponentResult> InvokeAsync(string cssClass) { var model = new LanguageSwitchViewModel { Languages = _languageManager.GetActiveLanguages().ToList(), CurrentLanguage = _languageManager.CurrentLanguage, CssClass = cssClass }; return(Task.FromResult <IViewComponentResult>(View(model))); }
protected virtual void BuildMultiLanguageViewModel( LanguageSwitchViewModel languageSwitchViewModel, IEnumerable <CultureInfo> supportedCultures, Func <CultureInfo, string> urlBuilder, CultureInfo currentCulture) { if (!languageSwitchViewModel.IsMultiLanguage) { return; } languageSwitchViewModel.CurrentLanguage = CreateEntry(urlBuilder, currentCulture, currentCulture); languageSwitchViewModel.Entries = CreateAlternativeEntries(supportedCultures, urlBuilder, currentCulture); languageSwitchViewModel.IsMultiLanguage = languageSwitchViewModel.Entries.Count > 1; }
public virtual LanguageSwitchViewModel GetViewModel(Func <CultureInfo, string> urlBuilder, CultureInfo currentCulture) { if (urlBuilder == null) { throw new ArgumentNullException(nameof(urlBuilder)); } if (currentCulture == null) { throw new ArgumentNullException(nameof(currentCulture)); } var supportedCultures = CultureService.GetAllSupportedCultures(); var languageSwitchViewModel = new LanguageSwitchViewModel { IsMultiLanguage = supportedCultures.Length > 1 }; BuildMultiLanguageViewModel(languageSwitchViewModel, supportedCultures, urlBuilder, currentCulture); return(languageSwitchViewModel); }