public async Task UpdateShippingMethodAddShippingRate()
        {
            await WithUpdateableShippingMethodWithZoneRate(client, async shippingMethod =>
            {
                Assert.Single(shippingMethod.ZoneRates);
                var zoneRate = shippingMethod.ZoneRates[0];
                Assert.Single(zoneRate.ShippingRates);

                var newRate = new ShippingRateDraft()
                {
                    Price     = Money.FromDecimal("USD", 8),
                    FreeAbove = Money.FromDecimal("USD", 150)
                };
                var updateActions = new List <UpdateAction <ShippingMethod> >();
                var action        = new AddShippingRateUpdateAction()
                {
                    Zone         = zoneRate.Zone,
                    ShippingRate = newRate
                };
                updateActions.Add(action);

                var updatedShippingMethod = await client
                                            .ExecuteAsync(new UpdateByIdCommand <ShippingMethod>(shippingMethod, updateActions));

                Assert.Single(updatedShippingMethod.ZoneRates);
                zoneRate = updatedShippingMethod.ZoneRates[0];

                Assert.Equal(2, zoneRate.ShippingRates.Count);
                var newShippingRate = zoneRate.ShippingRates[1];
                Assert.NotNull(newShippingRate);
                Assert.Equal(newRate.Price, newShippingRate.Price);
                Assert.Equal(newRate.FreeAbove, newShippingRate.FreeAbove);
                return(updatedShippingMethod);
            });
        }
        public static ShippingRateDraft GetShippingRateDraftWithPriceTiers()
        {
            ShippingRateDraft rate = new ShippingRateDraft()
            {
                Price = Money.FromDecimal("EUR", 10),
                Tiers = GetShippingRatePriceTiersAsCartScore()
            };

            return(rate);
        }
        public static ShippingRateDraft GetShippingRateDraftWithCartClassifications()
        {
            ShippingRateDraft rate = new ShippingRateDraft()
            {
                Price = Money.FromDecimal("EUR", 10),
                Tiers = GetShippingRatePriceTiersAsClassification()
            };

            return(rate);
        }
        public static ShippingRateDraft GetShippingRateDraft()
        {
            var rate = new ShippingRateDraft
            {
                Price     = Money.FromDecimal("EUR", 10),
                FreeAbove = Money.FromDecimal("EUR", 100)
            };

            return(rate);
        }
示例#5
0
        public ShippingRateDraft GetShippingRateDraftWithCartClassifications()
        {
            ShippingRateDraft rate = new ShippingRateDraft()
            {
                Price = Money.Parse("10.00 EUR"),
                Tiers = GetShippingRatePriceTiersAsClassification()
            };

            return(rate);
        }
示例#6
0
        public ShippingRateDraft GetShippingRateDraftWithPriceTiers()
        {
            ShippingRateDraft rate = new ShippingRateDraft()
            {
                Price = Money.Parse("10.00 EUR"),
                Tiers = this.GetShippingRatePriceTiersAsCartScore()
            };

            return(rate);
        }
示例#7
0
        public ShippingRateDraft GetShippingRateDraft()
        {
            ShippingRateDraft rate = new ShippingRateDraft()
            {
                Price     = Money.Parse("1.00 EUR"),
                FreeAbove = Money.Parse("100.00 EUR")
            };

            return(rate);
        }