using System.Globalization; using ErsatzTV.Core.Interfaces.Repositories; namespace ErsatzTV.Application.MediaItems; public class GetAllLanguageCodesHandler : IRequestHandler> { private readonly IMediaItemRepository _mediaItemRepository; public GetAllLanguageCodesHandler(IMediaItemRepository mediaItemRepository) => _mediaItemRepository = mediaItemRepository; public async Task> Handle( GetAllLanguageCodes request, CancellationToken cancellationToken) { List cultures = await _mediaItemRepository.GetAllLanguageCodeCultures(); return cultures.Map(c => new LanguageCodeViewModel(c.ThreeLetterISOLanguageName, c.EnglishName)).ToList(); } }