public virtual void InstallLanguageResource(string resourceFolder) { var languageResources = XDocument.Load(Path.Combine(resourceFolder, LanguageResourcesXml)).Descendants(LocalResourceElementName); languageResources.ForEachItem(lsr => { var localeStringResource = new LocaleStringResource { ResourceName = lsr.Attribute("Name").Value, ResourceValue = lsr.Attribute("Value").Value }; AddOrUpdateLocaleStringResource(localeStringResource); }); }
protected virtual void AddOrUpdateLocaleStringResource(LocaleStringResource localeStringResource) { var query = _localeStringResourceRepository.Table.Where( l => l.ResourceName.Equals(localeStringResource.ResourceName, StringComparison.OrdinalIgnoreCase)) .OrderBy(x => x.Id); var lsr = query.FirstOrDefault(); if(lsr.IsNull()) _localeStringResourceRepository.Insert(localeStringResource); else { lsr.ResourceValue = localeStringResource.ResourceValue; _localeStringResourceRepository.Update(lsr); _eventPublisher.EntityUpdated(lsr); } }