Exemplo n.º 1
0
        public void SerializeDeserialize()
        {
            // arrange
            OrderDocument order     = new OrderDocument();
            OrderItem     orderItem = new OrderItem();

            orderItem.Id          = 3;
            orderItem.Description = "Soup of the day";
            orderItem.Price       = 6.95m;
            orderItem.Quantity    = 2;
            order.AddItem(orderItem);

            // act
            string        json            = order.Serialize();
            OrderDocument rehydratedOrder = new OrderDocument(json);

            // assert

            Assert.That(rehydratedOrder.GetItems().Count, Is.EqualTo(1));
            OrderItem rehydratedOrderItem = rehydratedOrder.GetItems()[0];

            Assert.That(rehydratedOrderItem.Id, Is.EqualTo(3));
            Assert.That(rehydratedOrderItem.Description, Is.EqualTo("Soup of the day"));
            Assert.That(rehydratedOrderItem.Price, Is.EqualTo(6.95m));
            Assert.That(rehydratedOrderItem.Quantity, Is.EqualTo(2));
        }
Exemplo n.º 2
0
        public void PlaceOrder(IList <Tuple <int, int> > items, Guid orderId)
        {
            OrderDocument newOrder = new OrderDocument {
                Id = orderId
            };

            newOrder.IsDodgy = (rnd.Next(0, 100) > 80);

            foreach (var item in items)
            {
                MenuItem mItem = _menu.GetItem(item.Item1);
                newOrder.AddItem(new OrderItem {
                    Id = item.Item1, Description = mItem.Description, Quantity = item.Item2, Price = mItem.Price
                });
            }

            _bus.Publish(new OrderPlaced(newOrder)
            {
                MessageId = Guid.NewGuid(), CorrelationId = orderId, CausationId = Guid.Empty
            });
        }