protected void CreateOrUpdateLocalizationsFor(object entity) { foreach (PropertyInfo propertyInfo in this.GetLocalizationSetPropertiesFromEntity(entity)) { LocalizationSet localizationSet = this.GetOrCreateLocalizationSetForProperty(entity, propertyInfo); this.DeleteLocalizations(localizationSet); this.CreateLocalizations(propertyInfo, localizationSet); } }
public Page() { MenuItems = new List <MenuItem>(); Name = new LocalizationSet(); Content = new LocalizationSet(); MetaTitle = new LocalizationSet(); MetaKeywords = new LocalizationSet(); MetaDescription = new LocalizationSet(); }
private void DeleteLocalizations(LocalizationSet localizationSet) { if (localizationSet.Localizations == null || localizationSet.Localizations.Count == 0) { return; } ILocalizationRepository localizationRepository = this.HttpContext.RequestServices.GetService <ILocalizationRepository>(); Storage storage = this.HttpContext.RequestServices.GetService <Storage>(); localizationRepository.Delete(localizationSet.Localizations); storage.SaveChanges(); }
private void CreateLocalizations(PropertyInfo propertyInfo, LocalizationSet localizationSet) { ICultureRepository cultureRepository = this.HttpContext.RequestServices.GetService <ICultureRepository>(); ILocalizationRepository localizationRepository = this.HttpContext.RequestServices.GetService <ILocalizationRepository>(); Storage storage = this.HttpContext.RequestServices.GetService <Storage>(); foreach (Culture culture in cultureRepository.GetAll()) { Localization localization = new Localization(); localization.LocalizationSetId = localizationSet.Id; localization.CultureCode = culture.Code; localization.Value = this.Request.Form[propertyInfo.Name + culture.Code]; localizationRepository.Create(localization); } storage.SaveChanges(); }
private LocalizationSet GetOrCreateLocalizationSetForProperty(object entity, PropertyInfo propertyInfo) { ILocalizationSetRepository localizationSetRepository = this.HttpContext.RequestServices.GetService <ILocalizationSetRepository>(); Storage storage = this.HttpContext.RequestServices.GetService <Storage>(); PropertyInfo localizationSetIdPropertyInfo = entity.GetType().GetProperty(propertyInfo.Name + "Id"); int? localizationSetId = (int?)localizationSetIdPropertyInfo.GetValue(entity); LocalizationSet localizationSet = null; if (localizationSetId == null || localizationSetId == 0) { localizationSet = new LocalizationSet(); localizationSetRepository.Create(localizationSet); storage.SaveChanges(); localizationSetIdPropertyInfo.SetValue(entity, localizationSet.Id); } else { localizationSet = localizationSetRepository.GetById((int)localizationSetId); } return(localizationSet); }
public void Create(LocalizationSet localizationSet) { this.storage.LocalizationSets.Add(localizationSet); }
protected IEnumerable <ViewModels.Shared.Localization> CreateLocalizationsFor(LocalizationSet localizationSet) { ICultureRepository cultureRepository = this.HttpContext.RequestServices.GetService <ICultureRepository>(); return(cultureRepository.GetAll() .Select(c => new ViewModels.Shared.Localization() { CultureCode = c.Code, Value = localizationSet.Localizations.FirstOrDefault(l => l.CultureCode == c.Code)?.Value })); }
public void Create(LocalizationSet localizationSet) { _dbContext.LocalizationSets.Add(localizationSet); }
public MenuItem() { Name = new LocalizationSet(); Controller = "Page"; Action = "Index"; }