public void Handle(OrderCancelledBecauseOfError @event) { var orderDetail = _orderDao.FindOrderStatusById(@event.SourceId); if (orderDetail.IsPrepaid) { var response = _paymentService.RefundPayment(orderDetail.CompanyKey, @event.SourceId); if (response.IsSuccessful) { _commandBus.Send(new UpdateRefundedOrder { OrderId = @event.SourceId, IsSuccessful = response.IsSuccessful, Message = response.Message }); } } else { // void the preauthorization to prevent misuse fees _paymentService.VoidPreAuthorization(orderDetail.CompanyKey, @event.SourceId); } }
private void OnOrderCancelledBecauseOfError(OrderCancelledBecauseOfError obj) { _status = OrderStatus.Canceled; }
public void Handle(OrderCancelledBecauseOfError @event) { SendUnapplyPromotionCommand(@event.SourceId); }