private string Get(string key, Culture culture) { if (culture == null) { return null; } var ngmaDomainService = DependencyResolver.Current.GetService<IMaintDomainService>(); var db = DependencyResolver.Current.GetService<IMaintDbRepository>(); var cultureTexts = ngmaDomainService.GetCultureTexts(); var cacheKey = "__languageLoader::cultureTexts"; var item = cultureTexts.FirstOrDefault(x => string.Equals(x.Name, key, StringComparison.OrdinalIgnoreCase) && x.CultureId == culture.CultureId); if (item != null) { return item.Text; } item = new CultureText { Name = key, CultureId = culture.CultureId, Text = null }; db.CultureTexts.Add(item); db.SaveChanges(); ngmaDomainService.ClearCultureTextsCache(); HttpContext.Current.Items[cacheKey] = null; return null; }
public void Import(MaintDbContextMaintDbRepository repository, List<KeyValuePair<string, string>> cultureTexts, LanguageItemConverType languageItemConverType) { var culture = this; var originalCultureTexts = repository.CultureTexts.Where(x => x.CultureId == culture.CultureId).ToList(); foreach (var cultureText in cultureTexts) { var text = (cultureText.Value ?? "").ToString(); var key = cultureText.Key; var originalLanguageItem = originalCultureTexts.FirstOrDefault(x => string.Equals(x.Name, key, StringComparison.OrdinalIgnoreCase)); if (originalLanguageItem == null) { originalLanguageItem = new CultureText() { Text = text, CultureId = culture.CultureId, Name= key, }; repository.CultureTexts.Add(originalLanguageItem); } else { if (originalLanguageItem.IsEdited) { switch (languageItemConverType) { case LanguageItemConverType.ExcludeIsEdited: break; case LanguageItemConverType.All: originalLanguageItem.Text = text; originalLanguageItem.IsEdited = false; break; default: throw new ArgumentOutOfRangeException(); } } else { switch (languageItemConverType) { case LanguageItemConverType.ExcludeIsEdited: case LanguageItemConverType.All: originalLanguageItem.Text = text; originalLanguageItem.IsEdited = false; break; default: throw new ArgumentOutOfRangeException(); } } } } }
partial void OnToEntity(CultureText entity, ControllerContext controllerContext);
partial void OnFromEntity(CultureText entity, bool isPostback, ControllerContext controllerContext);
public void ToEntity(CultureText entity, ControllerContext controllerContext) { entity.Text = Text; OnToEntity(entity, controllerContext); }
public void FromEntity(CultureText entity, bool isPostback, ControllerContext controllerContext) { if(!isPostback){ Text = entity.Text; } CultureId = entity.CultureId; Name = entity.Name; OnFromEntity(entity, isPostback, controllerContext); }
public void ToEntity(CultureText entity, ControllerContext controllerContext) { entity.CultureId = (int)CultureId; entity.Name = Name; entity.Text = Text; OnToEntity(entity, controllerContext); }
public async Task<ActionResult> Import(CultureTextImportModel model) { if (!ModelState.IsValid) { return Template(model.CreateTemplate(ControllerContext)); } var db = MaintDbContext; var culture = db.Cultures.FirstOrDefault(x => x.IsEnabled && x.CultureId == (int?)model.Culture); var cultureTexts = db.CultureTexts.Where(x => x.CultureId == (int?)model.Culture).ToList(); var newCultureTexts = JsonConvert.DeserializeObject(model.Content) as JObject; foreach (KeyValuePair<string, JToken> newCultureText in newCultureTexts) { var oldCultureText = cultureTexts.FirstOrDefault(x => string.Equals(x.Name, newCultureText.Key, StringComparison.OrdinalIgnoreCase)); if (oldCultureText == null) { oldCultureText = new CultureText { Text = newCultureText.Value.ToString(), CultureId = culture.CultureId, Name = newCultureText.Key, }; db.CultureTexts.Add(oldCultureText); } else { if (model.Overwrite) { oldCultureText.Text = newCultureText.Value.ToString(); } } } await db.SaveChangesAsync(); _maintDomainService.ClearCultureTextsCache(); await SetFlashAsync(new FlashMessage { Text = MaintCultureTextResources.SuccessToSave, MessageType = FlashMessageType.Success, }); return Template(model.CreateTemplate(ControllerContext)); }
public async Task<ActionResult> Create(CultureTextCreateModel model) { var db = MaintDbContext; CultureText cultureText= new CultureText(); if (!TryUpdateModel(cultureText, model)) { return Template(model.CreateTemplate(ControllerContext)); } var name = model.Name; if (await db.CultureTexts.AnyAsync(x => x.Name == name)) { var errorMessage = string.Format(MaintCultureTextResources.ValidationDumplicate, MaintCultureTextResources.CultureTextName, name); ModelState.AddModelError("Name", string.Format(errorMessage, name)); return Template(model.CreateTemplate(ControllerContext)); } var culture = db.Cultures.FirstOrDefault(x => x.CultureId == model.CultureId && x.IsEnabled); if (culture == null) { return HttpNotFound(); } db.CultureTexts.Add(cultureText); await db.SaveChangesAsync(); await SetFlashAsync(new FlashMessage { Text = MaintCultureTextResources.SuccessToSave, MessageType = FlashMessageType.Success, }); _maintDomainService.ClearCultureTextsCache(); return Create( ); }