public virtual IActionResult Edit(CelebrityModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageCelebrities)) { return(AccessDeniedView()); } //try to get a celebrity with the specified id var celebrity = _celebrityService.GetCelebrityById(model.Id); if (celebrity == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { //locales UpdateLocales(celebrity, model); //tags _celebrityTagService.UpdateCelebrityTags(celebrity, ParseCelebrityTags(model.CelebrityTags)); //stores _celebrityService.UpdateCelebrityStoreMappings(celebrity, model.SelectedStoreIds); //celebrity celebrity = model.ToEntity(celebrity); _celebrityService.UpdateCelebrity(celebrity); //activity log _customerActivityService.InsertActivity("EditCelebrity", string.Format(_localizationService.GetResource("ActivityLog.EditCelebrity"), celebrity.Name), celebrity); _notificationService.SuccessNotification(_localizationService.GetResource("Admin.Catalog.Celebrity.Updated")); if (!continueEditing) { return(RedirectToAction("List")); } return(RedirectToAction("Edit", new { id = celebrity.Id })); } //prepare model model = _celebrityModelFactory.PrepareCelebrityModel(model, celebrity, true); //if we got this far, something failed, redisplay form return(View(model)); }
protected virtual void UpdateLocales(Celebrity celebrity, CelebrityModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(celebrity, x => x.Name, localized.Name, localized.LanguageId); _localizedEntityService.SaveLocalizedValue(celebrity, x => x.ShortDescription, localized.ShortDescription, localized.LanguageId); _localizedEntityService.SaveLocalizedValue(celebrity, x => x.FullDescription, localized.FullDescription, localized.LanguageId); } }