public void Execute(OrderPlacedArgs args) { var queuedMessage = _messageParser.GetMessage(args.Order); if (queuedMessage != null) { _session.Transact(session => session.Save(queuedMessage)); } }
public void Execute(OrderPlacedArgs args) { _session.Transact(session => { var order = args.Order; foreach (var orderLine in order.OrderLines.Where( line => line.ProductVariant.TrackingPolicy == TrackingPolicy.Track)) { var productVariant = orderLine.ProductVariant; if (productVariant != null) { productVariant.StockRemaining -= orderLine.Quantity; } session.Update(productVariant); } }); }
public void Execute(OrderPlacedArgs args) { _emptyBasket.Empty(); }