public ActionResult ResourceUpdate(LanguageResourceModel model, GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages)) return AccessDeniedView(); if (model.Name != null) model.Name = model.Name.Trim(); if (model.Value != null) model.Value = model.Value.Trim(); if (!ModelState.IsValid) { //display the first model error var modelStateErrors = this.ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage); return Content(modelStateErrors.FirstOrDefault()); } var resource = _localizationService.GetLocaleStringResourceById(model.Id); // if the resourceName changed, ensure it isn't being used by another resource if (!resource.ResourceName.Equals(model.Name, StringComparison.InvariantCultureIgnoreCase)) { var res = _localizationService.GetLocaleStringResourceByName(model.Name, model.LanguageId, false); if (res != null && res.Id != resource.Id) { return Content(string.Format(_localizationService.GetResource("Admin.Configuration.Languages.Resources.NameAlreadyExists"), res.ResourceName)); } } resource.ResourceName = model.Name; resource.ResourceValue = model.Value; resource.IsTouched = true; _localizationService.UpdateLocaleStringResource(resource); return Resources(model.LanguageId, command); }
public ActionResult ResourceAdd(int id, LanguageResourceModel model, GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageLanguages)) return AccessDeniedView(); if (model.Name != null) model.Name = model.Name.Trim(); if (model.Value != null) model.Value = model.Value.Trim(); if (!ModelState.IsValid) { //display the first model error var modelStateErrors = this.ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage); return Content(modelStateErrors.FirstOrDefault()); } var res = _localizationService.GetLocaleStringResourceByName(model.Name, model.LanguageId, false); if (res == null) { var resource = new LocaleStringResource { LanguageId = id }; resource.ResourceName = model.Name; resource.ResourceValue = model.Value; resource.IsTouched = true; _localizationService.InsertLocaleStringResource(resource); } else { return Content(string.Format(_localizationService.GetResource("Admin.Configuration.Languages.Resources.NameAlreadyExists"), model.Name)); } return Resources(id, command); }