public Strategy() { var logName = this.GetType().FullName; if (this.GetType().Name != Name) { logName += "." + Name; } instanceLog = Factory.SysLog.GetLogger(logName); debug = instanceLog.IsDebugEnabled; trace = instanceLog.IsTraceEnabled; position = new PositionCommon(this); if (trace) { instanceLog.Trace("Constructor"); } Chain.Dependencies.Clear(); isStrategy = true; result = new Result(this); exitActiveNow = new ExitCommon(this); enterActiveNow = new EnterCommon(this); reverseActiveNow = new ReverseCommon(this); changeActiveNow = new ChangeCommon(this); changeNextBar = new ChangeCommon(this); changeNextBar.Orders = changeActiveNow.Orders; changeNextBar.IsNextBar = true; reverseNextBar = new ReverseCommon(this); reverseNextBar.Orders = reverseActiveNow.Orders; reverseNextBar.IsNextBar = true; exitNextBar = new ExitCommon(this); exitNextBar.Orders = exitActiveNow.Orders; exitNextBar.IsNextBar = true; enterNextBar = new EnterCommon(this); enterNextBar.Orders = enterActiveNow.Orders; enterNextBar.IsNextBar = true; orders = new OrderHandlers(enterActiveNow, enterNextBar, exitActiveNow, exitNextBar, reverseActiveNow, reverseNextBar, changeActiveNow, changeNextBar); // Interceptors. performance = new Performance(this); exitStrategy = new ExitStrategy(this); preFillManager = new FillManager(this); postFillManager = new FillManager(this); postFillManager.PostProcess = true; postFillManager.ChangePosition = exitStrategy.Position.Change; postFillManager.DoStrategyOrders = false; postFillManager.DoStrategyOrders = false; postFillManager.DoExitStrategyOrders = true; }
public void ShouldReturFalseWhenOrderShipIsInvalid() { Guid OrderId = Guid.Empty; var Data = DateTime.Now.AddHours(-1); var ship = new ShipOrderCommand(Data, OrderId); var orderHandler = new OrderHandlers(new FakeOrderRepository()); var result = orderHandler.Handle(ship); Assert.IsTrue(orderHandler.Invalid); }
public void ShouldReturtrueWhenOrderShipIsValid() { var OrderId = Guid.NewGuid(); var Data = DateTime.Now.AddHours(1); var ship = new ShipOrderCommand(Data, OrderId); var orderHandler = new OrderHandlers(new FakeOrderRepository()); var result = orderHandler.Handle(ship); Assert.IsTrue(orderHandler.IsValid); }
public void Run() { var types = new List <Type> { typeof(Class1), typeof(Class2), typeof(Class3) }; var handlerDependencies = OrderHandlers.GetHandlerDependencies(types); Assert.Contains(typeof(Class2), handlerDependencies[typeof(Class1)]); Assert.Contains(typeof(Class3), handlerDependencies[typeof(Class1)]); Assert.Contains(typeof(Class3), handlerDependencies[typeof(Class2)]); }
public void ShouldReturtrueWhenOrderIsValid() { List <OrderItemCommand> items = new List <OrderItemCommand>(); var Item1 = new OrderItemCommand(Guid.NewGuid(), 10.23m, 5); var Item2 = new OrderItemCommand(Guid.NewGuid(), 15.23m, 5); var Item3 = new OrderItemCommand(Guid.NewGuid(), 35.23m, 5); items.Add(Item1); items.Add(Item2); items.Add(Item3); var placeOrderCommand = new PlaceOrderCommand(Guid.NewGuid(), items); var orderHandler = new OrderHandlers(new FakeOrderRepository()); orderHandler.Handle(placeOrderCommand); Assert.IsTrue(orderHandler.IsValid); }
public void Dado_um_promocode_inexistente_o_pedido_deve_ser_gerado_normalmente() { var createOrderCommand = new CreateOrderCommand(); createOrderCommand.Customer = "12345678911"; createOrderCommand.ZipCode = "12345678"; createOrderCommand.PromoCode = string.Empty; createOrderCommand.Items.Add(new CreateOrderItemCommand(Guid.NewGuid(), 1)); createOrderCommand.Items.Add(new CreateOrderItemCommand(Guid.NewGuid(), 1)); var handler = new OrderHandlers( _customerRepository, _deliveryFeeRepository, _discountRepository, _productRepository, _orderRepository ); handler.Handle(createOrderCommand); Assert.AreEqual(handler.Valid, true); }
public OrderController(IOrderRepository repository, OrderHandlers handle) { _repository = repository; _handle = handle; }
private static void Run() { MessageHandlers.PrintWelcome(); OrderHandlers.HandleOrder(); }