Пример #1
0
 public void Can_load_shippingRateComputationMethod_by_systemKeyword()
 {
     RunWithTestServiceProvider(() =>
     {
         var srcm = _shippingPluginManager.LoadPluginBySystemName("FixedRateTestShippingRateComputationMethod");
         srcm.Should().NotBeNull();
     });
 }
Пример #2
0
 /// <summary>
 /// Get the tracker of the shipment
 /// </summary>
 /// <param name="shipment">Shipment</param>
 /// <returns>Shipment tracker</returns>
 public virtual IShipmentTracker GetShipmentTracker(Shipment shipment)
 {
     if (!shipment.Order.PickupInStore)
     {
         var shippingRateComputationMethod = _shippingPluginManager
                                             .LoadPluginBySystemName(shipment.Order.ShippingRateComputationMethodSystemName);
         return(shippingRateComputationMethod?.ShipmentTracker);
     }
     else
     {
         var pickupPointProvider = _pickupPluginManager
                                   .LoadPluginBySystemName(shipment.Order.ShippingRateComputationMethodSystemName);
         return(pickupPointProvider?.ShipmentTracker);
     }
 }
Пример #3
0
        /// <summary>
        /// Get the tracker of the shipment
        /// </summary>
        /// <param name="shipment">Shipment</param>
        /// <returns>Shipment tracker</returns>
        public virtual IShipmentTracker GetShipmentTracker(Shipment shipment)
        {
            var order = _orderRepository.ToCachedGetById(shipment.OrderId);

            if (!order.PickupInStore)
            {
                var shippingRateComputationMethod = _shippingPluginManager
                                                    .LoadPluginBySystemName(order.ShippingRateComputationMethodSystemName);

                return(shippingRateComputationMethod?.ShipmentTracker);
            }

            var pickupPointProvider = _pickupPluginManager
                                      .LoadPluginBySystemName(order.ShippingRateComputationMethodSystemName);

            return(pickupPointProvider?.ShipmentTracker);
        }
Пример #4
0
        public virtual IActionResult ProviderUpdate(ShippingProviderModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings))
            {
                return(AccessDeniedView());
            }

            var srcm = _shippingPluginManager.LoadPluginBySystemName(model.SystemName);

            if (_shippingPluginManager.IsPluginActive(srcm))
            {
                if (!model.IsActive)
                {
                    //mark as disabled
                    _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Remove(srcm.PluginDescriptor.SystemName);
                    _settingService.SaveSetting(_shippingSettings);
                }
            }
            else
            {
                if (model.IsActive)
                {
                    //mark as active
                    _shippingSettings.ActiveShippingRateComputationMethodSystemNames.Add(srcm.PluginDescriptor.SystemName);
                    _settingService.SaveSetting(_shippingSettings);
                }
            }

            var pluginDescriptor = srcm.PluginDescriptor;

            //display order
            pluginDescriptor.DisplayOrder = model.DisplayOrder;

            //update the description file
            pluginDescriptor.Save();

            //raise event
            _eventPublisher.Publish(new PluginUpdatedEvent(pluginDescriptor));

            return(new NullJsonResult());
        }
Пример #5
0
        public void CanLoadShippingRateComputationMethodBySystemKeyword()
        {
            var shippingRateComputationMethod = _shippingPluginManager.LoadPluginBySystemName("FixedRateTestShippingRateComputationMethod");

            shippingRateComputationMethod.Should().NotBeNull();
        }
Пример #6
0
        public void Can_load_shippingRateComputationMethod_by_systemKeyword()
        {
            var srcm = _shippingPluginManager.LoadPluginBySystemName("FixedRateTestShippingRateComputationMethod");

            srcm.ShouldNotBeNull();
        }