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 ActionResult Import() { var model = new CultureTextImportModel(); return Template(model.CreateTemplate(ControllerContext)); }