public virtual async Task <SwiperSliderModel> PrepareSliderModelAsync(SwiperSliderModel model, Slider slider) { if (slider != null) { if (model == null) { model = slider.ToModel <SwiperSliderModel>(); } await PrepareSliderItemSearchModelAsync(model.SwiperSliderItemSearchModel, slider); } if (slider == null) { model.Published = true; } //prepare model customer roles await _aclSupportedModelFactory.PrepareModelCustomerRolesAsync(model, slider, false); //prepare model stores await _storeMappingSupportedModelFactory.PrepareModelStoresAsync(model, slider, false); return(model); }
protected virtual async Task SaveSliderStoreMappingsAsync(Slider slider, SwiperSliderModel model) { slider.LimitedToStores = model.SelectedStoreIds.Any(); await _swiperSliderService.UpdateSliderAsync(slider); await SaveStoreMappingsAsync(slider, model); }
protected virtual async Task SaveSliderAclAsync(Slider slider, SwiperSliderModel model) { slider.SubjectToAcl = model.SelectedCustomerRoleIds.Any(); await _swiperSliderService.UpdateSliderAsync(slider); await SaveAclAsync(slider, model); }
public virtual async Task <IActionResult> Create(SwiperSliderModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var slider = model.ToEntity <Data.Domain.Slider>(); await _swiperSliderService.InsertSliderAsync(slider); await SaveSliderAclAsync(slider, model); await SaveSliderStoreMappingsAsync(slider, model); if (slider.Id > 0) { //activity log await _customerActivityService.InsertActivityAsync("AddNewSwiperSlider", string.Format(await _localizationService.GetResourceAsync("Nop.Plugin.Widgets.SwiperSlider.Admin.ActivityLog.AddNewSwiperSlider"), slider.Name), slider); var message = await _localizationService.GetResourceAsync("Nop.Plugin.Widgets.SwiperSlider.Admin.Notifications.Sliders.Added"); _notificationService.SuccessNotification(string.Format(message, slider.Name)); } else { _notificationService.ErrorNotification(await _localizationService.GetResourceAsync("Nop.Plugin.Widgets.SwiperSlider.Admin.Notifications.Sliders.NotAdded")); } if (!continueEditing) { return(RedirectToAction("List")); } return(RedirectToAction("Edit", new { id = slider.Id })); } model = await _swiperSliderModelFactory.PrepareSliderModelAsync(model, null); return(View(model)); }