/**
* Given a Cart, return a set of Valid ShippingRanges satisfied.
*
* @param ShippingCollectionEvent $event Event
*
* @return $this Self object
*/
public function addCustomShippingMethods(ShippingCollectionEvent $event)
{
if (!$this->plugin->isEnabled()) {
return $this;
}
$cart = $event->getCart();
$carrierRanges = $this->shippingRangesProvider->getAllShippingRangesSatisfiedWithCart($cart);
foreach ($carrierRanges as $carrierRange) {
$event->addShippingMethod(new ShippingMethod('custom-shipping-method-' . $carrierRange->getId(), $carrierRange->getCarrier()->getName(), $carrierRange->getName(), '', $carrierRange->getPrice()));
}
}