public virtual IActionResult EditSlideWidgetZonePopup(EditSlideWidgetZoneModel model) { //redirect customer on accessdenied view, if client has no permissions if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedView()); } var slideWidgetZone = _widgetZoneSlideService.GetWidgetZoneSlide(model.Id); if (slideWidgetZone == null) { throw new Exception($"Slide widget zone by id: '{model.Id}' aren't exist"); } //change entity properties slideWidgetZone.WidgetZoneId = model.WidgetZoneId; slideWidgetZone.OverrideDescription = model.OverrideDescription; //update localized values foreach (var locale in model.Locales) { _localizedEntityService.SaveLocalizedValue(slideWidgetZone, x => x.OverrideDescription, locale.OverrideDescription, locale.LanguageId); } //update entity _widgetZoneSlideService.UpdateWidgetZoneSlide(slideWidgetZone); //close popup window ViewBag.RefreshPage = true; return(EditSlideWidgetZonePopup(model.Id)); }
/// <summary> /// Prepare edit slide widget zone edit model /// </summary> /// <param name="widgetZoneSlide">Widget zone slide entity</param> /// <returns>Edit slide widget zone model</returns> public virtual EditSlideWidgetZoneModel PrepareEditSlideWidgetZoneModel(WidgetZoneSlide widgetZoneSlide) { var allLanguages = _languageService.GetAllLanguages(); var allWidgetZones = _widgetZoneService.GetWidgetZones(); var model = new EditSlideWidgetZoneModel() { Id = widgetZoneSlide.Id, AvailableWidgetZones = allWidgetZones.Select(widgetZone => { return(new SelectListItem() { Value = widgetZone.Id.ToString(), Text = $"{widgetZone.Name}({widgetZone.SystemName})" }); }).ToList(), SlideId = widgetZoneSlide.SlideId, WidgetZoneId = widgetZoneSlide.WidgetZoneId, OverrideDescription = widgetZoneSlide.OverrideDescription }; //add locales foreach (var language in allLanguages) { model.Locales.Add(new EditSlideWidgetZoneModel.LocalizationModel() { LanguageId = language.Id, OverrideDescription = _localizationService.GetLocalized(widgetZoneSlide, x => x.OverrideDescription, language.Id) }); } return(model); }