public IActionResult Create([FromForm] LocalizationCreateModel entity) { if (ModelState.IsValid) { try { AuditedEntityMapper <LocalizationCreateModel> .FillCountryEntityField(entity, CountryId); bool statusResult = _localizationService.Add(entity); if (statusResult) { return(RedirectToAction(nameof(Index)).WithSuccess(LOCALIZATION_SUCCESS_DEFAULT)); } else { return(RedirectToAction(nameof(Index)).WithError(LOCALIZATION_ERROR_DEFAULT)); } } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(RedirectToAction(nameof(Index)).WithError(ex.Message)); } } ViewBag.Languages = _languageService.GetAllAsLookup(CountryId); return(View(entity).WithWarning(LOCALIZATION_WARNING_INVALID_MODELSTATE)); }
public static async Task ImportLocalizations(IServiceProvider serviceProvider, IConfiguration configuration) { var logger = serviceProvider.GetRequiredService <ILogger <SeedExtension> >(); logger.LogInformation("importing localizations start"); try { var _countryService = serviceProvider.GetService <ICountryService>(); var countries = _countryService.GetAll(); if (countries != null) { foreach (var country in countries) { var _languageService = serviceProvider.GetService <ILanguageService>(); foreach (var countryLanguage in _languageService.GetAll(country.ID)) { string defaultLanguage = configuration["DefaultLanguage:Value"]; CultureInfo defaultCultureInfo = new CultureInfo(defaultLanguage); if (countryLanguage.CultureId == defaultCultureInfo.LCID) { var language = _languageService.GetByCultureId(defaultCultureInfo.LCID, country.ID); var _localizationService = serviceProvider.GetService <ILocalizationService>(); var firstItemInDictionary = localizations.First(); if (!(_localizationService.GetByKey(firstItemInDictionary.Key, language.CultureId) == firstItemInDictionary.Value)) { foreach (KeyValuePair <string, string> localizationItem in localizations) { LocalizationCreateModel localization = new LocalizationCreateModel(); localization.CountryId = country.ID; localization.LanguageId = language.ID; localization.LocalizationKey = localizationItem.Key; localization.LocalizationValue = localizationItem.Value; _localizationService.Add(localization); } } } } } } } catch (Exception ex) { logger.LogInformation("Import localizations failed." + ex.Message); throw new Exception("Import localizations failed. " + ex.Message); } }
public bool Add(LocalizationCreateModel entity) { var language = _languageRepository.Get(entity.LanguageId); if (language == null) { throw new Exception(LOCALIZATION_LOCALIZATIONCLASS_NOT_FOUND); } Localization localization = new Localization { LocalizationKey = entity.LocalizationKey, LocalizationValue = entity.LocalizationValue, Language = language, CountryId = entity.CountryId }; return(_repository.Add(localization)); }