public async Task<GetLanguageForEditOutput> GetLanguageForEdit(NullableIdInput input) { ApplicationLanguage language = null; if (input.Id.HasValue) { language = await _languageRepository.GetAsync(input.Id.Value); } var output = new GetLanguageForEditOutput(); //Language output.Language = language != null ? language.MapTo<ApplicationLanguageEditDto>() : new ApplicationLanguageEditDto(); //Language names output.LanguageNames = CultureInfo .GetCultures(CultureTypes.AllCultures) .OrderBy(c => c.DisplayName) .Select(c => new ComboboxItemDto(c.Name, c.DisplayName + " (" + c.Name + ")") { IsSelected = output.Language.Name == c.Name }) .ToList(); //Flags output.Flags = FamFamFamFlagsHelper .FlagClassNames .OrderBy(f => f) .Select(f => new ComboboxItemDto(f, FamFamFamFlagsHelper.GetCountryCode(f)) { IsSelected = output.Language.Icon == f}) .ToList(); return output; }
public CreateOrEditLanguageModalViewModel(GetLanguageForEditOutput output) { output.MapTo(this); }