public void OrderDispatchedEvent_should_work_with_default_sizes() { // create the event var order = new Order(345); order.Lines.Add(new OrderLine("Widget", "-", 2)); var @event = new OrderDispatchedEvent(order); // create existing stock items var dateCreated = new DateTime(2011, 2, 15); var stockItems = new System.Collections.Generic.List <StockItem>() { StockItem.Create("Widget", "-", dateCreated, "*****@*****.**"), }; // create some initial stock stockItems[0].ReceiveStock(10, dateCreated, user); stockItems[0].Deactivate(dateCreated, user); stockItemRepository.GetAllDelegate = () => stockItems.AsQueryable(); // execute decrementStockLevelOnOrderDispatchedEvent.Handle(@event); // assert stockItems[0].Level.ShouldEqual(8); // 10-2 = 8 }
public void Handle(DispatchOrderCommand command) { Log.InfoFormat("Dispatching Order {0}", command.Order.OrderId); var dispatchTime = DateTime.UtcNow; var done = command.Order.Dispatched(dispatchTime); _storage.OrderDispatched(done, dispatchTime); var e = new OrderDispatchedEvent(done); _onDispatched(e); }
public void Handle(OrderDispatched orderDispatched) { if (orderDispatched == null) { throw new ArgumentNullException("orderDispatched"); } var order = new EventOrder(orderDispatched.Order.Id); foreach (var orderLine in orderDispatched.Order.OrderLines) { order.Lines.Add(new EventOrderLine(orderLine.ProductUrlName, orderLine.SizeName, orderLine.Quantity)); } var externalOrderDispatched = new OrderDispatchedEvent(order); domainEventService.Raise(externalOrderDispatched); }
/// <summary> /// 订单发货后的事件的事件处理方法 /// </summary> /// <param name="notification"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public Task Handle(OrderDispatchedEvent notification, CancellationToken cancellationToken) { return(Task.CompletedTask); }
public OrderState Apply(OrderDispatchedEvent @event) { DispatchedDate = @event.Date; return(this); }
public void MyTestMethod() { var domainevent = new OrderDispatchedEvent(); DomainEvent.Publish <OrderDispatchedEvent>(domainevent); }