Exemple #1
0
        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));
        }
Exemple #2
0
 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);
     }
 }