/// <summary> /// Initializes a new instance of the <see cref="FixedRateShippingGatewayMethod"/> class. /// </summary> /// <param name="gatewayResource"> /// The gateway resource. /// </param> /// <param name="shipMethod"> /// The ship method. /// </param> /// <param name="shipCountry"> /// The ship country. /// </param> /// <param name="rateTable"> /// The rate table. /// </param> public FixedRateShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IShippingFixedRateTable rateTable) : base(gatewayResource, shipMethod, shipCountry) { RateTable = new ShippingFixedRateTable(shipMethod.Key); _quoteType = GatewayResource.ServiceCode == FixedRateShippingGatewayProvider.VaryByWeightPrefix ? QuoteType.VaryByWeight : QuoteType.VaryByPrice; RateTable = rateTable; }
public FixedRateShippingGatewayMethod(IGatewayResource gatewayResource, IShipMethod shipMethod, IShipCountry shipCountry, IShippingFixedRateTable rateTable) : base(gatewayResource, shipMethod, shipCountry) { RateTable = new ShippingFixedRateTable(shipMethod.Key); _quoteType = GatewayResource.ServiceCode == FixedRateShippingGatewayProvider.VaryByWeightPrefix ? QuoteType.VaryByWeight : QuoteType.VaryByPrice; RateTable = rateTable; }
/// <summary> /// Saves a <see cref="FixedRateShippingGatewayMethod"/> /// </summary> /// <param name="shippingGatewayMethod"></param> public override void SaveShippingGatewayMethod(IShippingGatewayMethod shippingGatewayMethod) { GatewayProviderService.Save(shippingGatewayMethod.ShipMethod); ShippingFixedRateTable.Save(GatewayProviderService, RuntimeCache, ((FixedRateShippingGatewayMethod)shippingGatewayMethod).RateTable); }
/// <summary> /// Returns a collection of ship methods assigned for this specific provider configuration (associated with the ShipCountry) /// </summary> /// <returns></returns> public override IEnumerable <IShippingGatewayMethod> GetAllShippingGatewayMethods(IShipCountry shipCountry) { var methods = GatewayProviderService.GetShipMethodsByShipCountryKey(GatewayProviderSettings.Key, shipCountry.Key); return(methods .Select( shipMethod => new FixedRateShippingGatewayMethod(AvailableResources.FirstOrDefault(x => shipMethod.ServiceCode.StartsWith(x.ServiceCode)), shipMethod, shipCountry, ShippingFixedRateTable.GetShipRateTable(GatewayProviderService, RuntimeCache, shipMethod.Key)) ).OrderBy(x => x.ShipMethod.Name)); }
public void Init() { _shippingFixedRateTable = new ShippingFixedRateTable(Guid.NewGuid(), new List<IShipRateTier>()); _shippingFixedRateTable.IsTest = true; }