コード例 #1
0
ファイル: ShippingController.cs プロジェクト: alishbeta/vegas
        public virtual IActionResult PickupPointProviders(PickupPointProviderSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings))
            {
                return(AccessDeniedKendoGridJson());
            }

            //prepare model
            var model = _shippingModelFactory.PreparePickupPointProviderListModel(searchModel);

            return(Json(model));
        }
コード例 #2
0
        public virtual async Task <IActionResult> PickupPointProviders(PickupPointProviderSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageShippingSettings))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _shippingModelFactory.PreparePickupPointProviderListModelAsync(searchModel);

            return(Json(model));
        }
コード例 #3
0
        /// <summary>
        /// Prepare paged pickup point provider list model
        /// </summary>
        /// <param name="searchModel">Pickup point provider search model</param>
        /// <returns>Pickup point provider list model</returns>
        public virtual PickupPointProviderListModel PreparePickupPointProviderListModel(PickupPointProviderSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get pickup point providers
            var pickupPointProviders = _shippingService.LoadAllPickupPointProviders();

            //prepare grid model
            var model = new PickupPointProviderListModel
            {
                Data = pickupPointProviders.PaginationByRequestModel(searchModel).Select(provider =>
                {
                    //fill in model values from the entity
                    var pickupPointProviderModel = provider.ToModel();

                    //fill in additional values (not existing in the entity)
                    pickupPointProviderModel.IsActive         = provider.IsPickupPointProviderActive(_shippingSettings);
                    pickupPointProviderModel.ConfigurationUrl = provider.GetConfigurationPageUrl();
                    pickupPointProviderModel.LogoUrl          = provider.PluginDescriptor.GetLogoUrl(_webHelper);

                    return(pickupPointProviderModel);
                }),
                Total = pickupPointProviders.Count
            };

            return(model);
        }
コード例 #4
0
        /// <summary>
        /// Prepare pickup point provider search model
        /// </summary>
        /// <param name="searchModel">Pickup point provider search model</param>
        /// <returns>Pickup point provider search model</returns>
        public virtual PickupPointProviderSearchModel PreparePickupPointProviderSearchModel(PickupPointProviderSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
コード例 #5
0
        /// <summary>
        /// Prepare paged pickup point provider list model
        /// </summary>
        /// <param name="searchModel">Pickup point provider search model</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the pickup point provider list model
        /// </returns>
        public virtual async Task <PickupPointProviderListModel> PreparePickupPointProviderListModelAsync(PickupPointProviderSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get pickup point providers
            var pickupPointProviders = (await _pickupPluginManager.LoadAllPluginsAsync()).ToPagedList(searchModel);

            //prepare grid model
            var model = await new PickupPointProviderListModel().PrepareToGridAsync(searchModel, pickupPointProviders, () =>
            {
                return(pickupPointProviders.SelectAwait(async provider =>
                {
                    //fill in model values from the entity
                    var pickupPointProviderModel = provider.ToPluginModel <PickupPointProviderModel>();

                    //fill in additional values (not existing in the entity)
                    pickupPointProviderModel.IsActive = _pickupPluginManager.IsPluginActive(provider);
                    pickupPointProviderModel.ConfigurationUrl = provider.GetConfigurationPageUrl();

                    pickupPointProviderModel.LogoUrl = await _pickupPluginManager.GetPluginLogoUrlAsync(provider);

                    return pickupPointProviderModel;
                }));
            });

            return(model);
        }
コード例 #6
0
        /// <summary>
        /// Prepare pickup point provider search model
        /// </summary>
        /// <param name="searchModel">Pickup point provider search model</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the pickup point provider search model
        /// </returns>
        public virtual Task <PickupPointProviderSearchModel> PreparePickupPointProviderSearchModelAsync(PickupPointProviderSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(Task.FromResult(searchModel));
        }