public void Reset_status_before_apply_new()
 {
     line.Apply(new OrderLineResult {
         Result = LineResultStatus.NoOffers
     });
     Assert.IsNull(line.NewCost);
     Assert.IsNull(line.OldCost);
 }
Exemple #2
0
        public void ApplyTo(OrderLine line)
        {
            Counter += line.AmountOrdered;

            var times = Counter / N;

            if (times <= 0)
            {
                return;
            }

            Counter = Counter % N;
            line.Apply(new LineDiscount($"Every {N}:th is free", line.UnitGoodsValue));
        }
        public void Setup()
        {
            price    = new Price("АМП (Основной)");
            order    = new Order(price, new Address("Тестовый адрес"));
            user     = new User();
            settings = new Settings(order.Address);
            settings.Waybills.Add(new WaybillSettings(user, order.Address));
            var offer = new Offer(price, 100)
            {
                Settings        = settings,
                ProductSynonym  = "ЭХИНАЦЕЯ ТРАВА пачка 50г (18%)",
                ProducerSynonym = "Камелия-ЛТ ООО",
            };

            line = order.TryOrder(offer, 1);

            line.Apply(new OrderLineResult {
                ServerCost = 150,
                Result     = LineResultStatus.CostChanged
            });
        }