Beispiel #1
0
        public virtual async Task <IActionResult> SliderItemList(SwiperSliderItemSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageWidgets))
            {
                return(await AccessDeniedDataTablesJson());
            }

            var model = await _swiperSliderModelFactory.PrepareSliderItemListModelAsync(searchModel);

            return(Json(model));
        }
        public virtual async Task <SwiperSliderItemListModel> PrepareSliderItemListModelAsync(SwiperSliderItemSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var sliderItems = await _swiperSliderService.GetAllSliderItemsAsync(
                sliderIds : new int[] { searchModel.SliderId },
                storeId : searchModel.SearchStoreId,
                pageIndex : (searchModel.Page - 1),
                pageSize : searchModel.PageSize,
                showHidden : true,
                overridePublished : (searchModel.SearchPublishedId == 0 ? null : searchModel.SearchPublishedId == 1));

            var model = await new SwiperSliderItemListModel().PrepareToGridAsync(searchModel, sliderItems, () =>
            {
                return(sliderItems.SelectAwait(async sliderItem =>
                {
                    return await PrepareSliderItemModelAsync(null, sliderItem);
                }));
            });

            return(model);
        }
        public virtual async Task <SwiperSliderItemSearchModel> PrepareSliderItemSearchModelAsync(SwiperSliderItemSearchModel searchModel, Slider slider)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (slider == null)
            {
                throw new ArgumentNullException(nameof(slider));
            }

            searchModel.SliderId = slider.Id;

            searchModel.SetGridPageSize();

            return(await Task.FromResult(searchModel));
        }