public void Handle(OrderSwitchedToNextDispatchCompany @event) { using (var context = _contextFactory.Invoke()) { var order = context.Find <OrderDetail>(@event.SourceId); order.Status = (int)OrderStatus.Created; order.IBSOrderId = @event.IBSOrderId; order.CompanyKey = @event.CompanyKey; order.CompanyName = @event.CompanyName; order.Market = @event.Market; var details = context.Find <OrderStatusDetail>(@event.SourceId); details.Status = OrderStatus.Created; details.IBSStatusId = null; //set it to null to trigger an update in OrderStatusUpdater details.IBSStatusDescription = string.Format(_resources.Get("OrderStatus_wosWAITINGRoaming", order.ClientLanguageCode), @event.CompanyName); details.IBSOrderId = @event.IBSOrderId; details.CompanyKey = @event.CompanyKey; details.CompanyName = @event.CompanyName; details.Market = @event.Market; details.NextDispatchCompanyKey = null; details.NextDispatchCompanyName = null; details.NetworkPairingTimeout = GetNetworkPairingTimeoutIfNecessary(details, @event.EventDate); context.SaveChanges(); RemoveTemporaryPaymentInfo(context, @event.SourceId); } }
public void Handle(OrderSwitchedToNextDispatchCompany @event) { using (var context = _contextFactory.Invoke()) { var orderReport = context.Find <OrderReportDetail>(@event.SourceId); orderReport.Order.CompanyName = @event.CompanyName; orderReport.Order.CompanyKey = @event.CompanyKey; orderReport.Order.Market = @event.Market; orderReport.Order.IBSOrderId = @event.IBSOrderId; orderReport.Order.WasSwitchedToAnotherCompany = true; orderReport.Order.HasTimedOut = false; context.Save(orderReport); } }
public void Handle(OrderSwitchedToNextDispatchCompany @event) { if (@event.HasChangedBackToPaymentInCar) { var orderStatus = _orderDao.FindOrderStatusById(@event.SourceId); if (orderStatus.IsPrepaid) { _paymentService.RefundPayment(orderStatus.CompanyKey, @event.SourceId); } else { // void the preauthorization to prevent misuse fees _paymentService.VoidPreAuthorization(orderStatus.CompanyKey, @event.SourceId); } } }
private void OnOrderSwitchedToNextDispatchCompany(OrderSwitchedToNextDispatchCompany obj) { _isTimedOut = false; }