示例#1
0
        public override Order Load(int orderId)
        {
            Order order = base.Load(orderId);

            order.SetRebatePolicy(RebatePolicyFactory.CreateRebatePolicy());
            return(order);
        }
示例#2
0
        public void Handle()
        {
            Order order = _orderRepository.Get(14);


            RebatePolicyFactory rebatePolicyFactory = new RebatePolicyFactory(_orderRepository, order.Customer);
            IRebatePolicy       rebatePolicy        = rebatePolicyFactory.CreateRebatePolicy();

            order.SetRebatePolicy(rebatePolicy);
            order.AddProduct(new Product());
        }
        public void Handle()
        {
            int      customerId = 12;
            Customer customer   = _customerRepository.GetCustomer(customerId);

            RebatePolicyFactory rebatePolicyFactory = new RebatePolicyFactory(_orderRepository, customer);
            IRebatePolicy       rebatePolicy        = rebatePolicyFactory.CreateRebatePolicy();

            OrderFactory orderFactory = new OrderFactory(customer, rebatePolicy);

            Order order = orderFactory.CreateOrder();

            //TODO: Save order into the store
        }
示例#4
0
        public Order CrateOrder(Client client)
        {
            CheckIfClientCanPerformPurchase(client);

            Order order = new Order(client.Id, Money.Zero, OrderStatus.Draft);

            Injector.InjectDependencies(order);

            IRebatePolicy rebatePolicy = RebatePolicyFactory.CreateRebatePolicy();

            order.SetRebatePolicy(rebatePolicy);

            AddGratis(order, client);

            return(order);
        }