コード例 #1
0
 public Order[] GetOrders()
 {
     UpStreamOrder[] orders = facade.GetOrder();
     return(orders.Select(upOrder => new Order
     {
         Code = upOrder.Code,
         Items = upOrder.Items.Select(upItem => OrderItemFactory.GetObject(upItem)).ToArray()
     }).ToArray());
 }
コード例 #2
0
        public void Produces_a_valid_receipt_for_a_single_line_sale()
        {
            var sale = new SalesOrder(_calculator);

            sale.Add(OrderItemFactory.CreateItem("1 book at 12.49"));
            var expected = "1 book: $12.49\nSales Taxes: $0.00\nTotal: $12.49";
            var actual   = sale.ToString();

            Assert.Equal(expected, actual);
        }
コード例 #3
0
        public void Correct_sale_when_new_product_added_to_registry()
        {
            TaxFreeRegistry.Add("tomato");
            var sale = new SalesOrder(_calculator);

            sale.Add(OrderItemFactory.CreateItem("2 tomatoes at 20"));
            var expected = "2 tomatoes: $40.00\nSales Taxes: $0.00\nTotal: $40.00";
            var actual   = sale.ToString();

            Assert.Equal(expected, actual);
        }
コード例 #4
0
        public void Produces_a_valid_receipt_for_a_multi_line_sale()
        {
            var sale = new SalesOrder(_calculator);

            sale.Add(OrderItemFactory.CreateItem("10 imported bottles of whiskey at 27.99"));
            sale.Add(OrderItemFactory.CreateItem("10 bottles of local whiskey at 18.99"));
            sale.Add(OrderItemFactory.CreateItem("10 packets of iodine tablets at 9.75"));
            sale.Add(OrderItemFactory.CreateItem("10 boxes of imported potato chips at 11.25"));
            var expected = "10 imported bottles of whiskey: $321.90\n10 bottles of local whiskey: $208.90\n10 packets of iodine tablets: $97.50\n10 imported boxes of potato chips: $118.10\nSales Taxes: $66.60\nTotal: $746.40";
            var actual   = sale.ToString();

            Assert.Equal(expected, actual);
        }
コード例 #5
0
ファイル: Tests.cs プロジェクト: MichaelJohny/DDD
        public void Order()
        {
            var customer = CustomerFactory.Create("Luke", "Skywalker", "*****@*****.**");

            var product = ProductFactory.Create("Millennium Falcon", 500_000_000);

            var item = OrderItemFactory.Create(product, 1);

            var order = OrderFactory.Create(customer);

            order.AddItem(item);

            var discount = new DiscountService().Calculate(order.Total, DiscountType.Large);

            order.ApplyDiscount(discount);

            Assert.AreEqual(250_000_000, order.Total.Value);
        }
コード例 #6
0
 public OrderService(
     BaseRepository <OrderEntity> orderRepository,
     BaseRepository <UserEntity> userRepository,
     BaseRepository <OrderItemEntity> orderItemRepository,
     BaseRepository <UserStatisticEntity> userStatisticRepository,
     UserEntityFactory userEntityFactory,
     OrderEntityFactory orderEntityFactory,
     OrderItemFactory orderItemFactory,
     IUserService userService,
     IMapper mapper,
     ILogger <OrderService> logger)
 {
     _orderRepository         = orderRepository;
     _userRepository          = userRepository;
     _userEntityFactory       = userEntityFactory;
     _orderEntityFactory      = orderEntityFactory;
     _orderItemFactory        = orderItemFactory;
     _userService             = userService;
     _mapper                  = mapper;
     _logger                  = logger;
     _userStatisticRepository = userStatisticRepository;
     _orderItemRepository     = orderItemRepository;
 }