/// <summary> /// 订单过期 /// </summary> /// <param name="evnt"></param> /// <returns></returns> public Task <AsyncTaskResult> HandleAsync(OrderExpiredEvent evnt) { var tasks = new List <Task>(); foreach (var goodsLine in evnt.OrderTotal.Lines) { //发送给所有商品 取消预定 tasks.Add(_commandService.SendAsync( new CancelSpecificationReservationCommand( goodsLine.SpecificationQuantity.Specification.GoodsId, evnt.AggregateRootId))); } Task.WaitAll(tasks.ToArray()); return(Task.FromResult(AsyncTaskResult.Success)); }
public Task <AsyncTaskResult> HandleAsync(OrderExpiredEvent evnt) { return(TryUpdateRecordAsync(connection => { return connection.UpdateAsync(new { Status = (int)OrderStatus.Expired, Version = evnt.Version }, new { OrderId = evnt.AggregateRootId, //Version = evnt.Version - 1 }, ConfigSettings.OrderTable); })); }
private void Handle(OrderExpiredEvent evnt) { _status = OrderStatus.Expired; }