示例#1
0
 public virtual TrackInfo TrackShipment(ShippingSession session, IShippingContext context, string carrierID, string trackingNumber)
 {
     return(new TrackInfo
     {
         TrackingURL = GetTrackingURL(session, context, carrierID, trackingNumber),
         TrackingNumber = trackingNumber,
         CarrierID = carrierID
     });
 }
示例#2
0
        public virtual string GetTrackingURL(ShippingSession session, IShippingContext context, string carrierID, string trackingNumber)
        {
            var carrier = GetShippingCarriers(session, context).FirstOrDefault(c => c.Name.EqualsIgnoreCase(carrierID));

            if (carrier != null &&
                carrier.TrackingURL.IsNotNullOrWhiteSpace() &&
                trackingNumber.IsNotNullOrWhiteSpace())
            {
                return(carrier.TrackingURL.Args(trackingNumber));
            }

            return(null);
        }
示例#3
0
 public abstract Financial.Amount?EstimateShippingCost(ShippingSession session, IShippingContext context, Shipment shipment);
示例#4
0
 public virtual IEnumerable <ShippingCarrier> GetShippingCarriers(ShippingSession session, IShippingContext context)
 {
     return(m_PreconfiguredShippingCarriers);
 }
示例#5
0
 public abstract Address ValidateAddress(ShippingSession session, IShippingContext context, Address address, out ValidateShippingAddressException error);
示例#6
0
 public abstract TrackInfo TrackShipment(ShippingSession session, IShippingContext context, string carrierID, string trackingNumber);
示例#7
0
 public abstract Label CreateLabel(ShippingSession session, IShippingContext context, Shipment shipment);
示例#8
0
 public abstract ShippingRate EstimateShippingCost(ShippingSession session, IShippingContext context, Shipment shipment);
示例#9
0
 public abstract Exception ValidateAddress(ShippingSession session, IShippingContext context, Address address);
示例#10
0
 public abstract Label CreateReturnLabel(ShippingSession session, IShippingContext context, Shipment shipment, object labelID);