public void Handle(PrepaidOrderPaymentInfoUpdated @event) { // Paypal web (prepaid) flow var temporaryInfo = _orderDao.GetTemporaryInfo(@event.OrderId); var orderInfo = JsonSerializer.DeserializeFromString <TemporaryOrderCreationInfo>(temporaryInfo.SerializedOrderCreationInfo); DeleteTempOrderData(@event.OrderId); var account = _accountDao.FindById(orderInfo.AccountId); var result = _ibsCreateOrderService.CreateIbsOrder(orderInfo.Request.OrderId, orderInfo.Request.PickupAddress, orderInfo.Request.DropOffAddress, orderInfo.Request.Settings.AccountNumber, orderInfo.Request.Settings.CustomerNumber, orderInfo.Request.CompanyKey, orderInfo.Request.IbsAccountId, orderInfo.Request.Settings.Name, orderInfo.Request.Settings.Phone, account.Email, orderInfo.Request.Settings.Passengers, orderInfo.Request.Settings.VehicleTypeId, orderInfo.Request.IbsInformationNote, orderInfo.Request.IsFutureBooking, orderInfo.Request.PickupDate, orderInfo.Request.Prompts, orderInfo.Request.PromptsLength, orderInfo.Request.ReferenceDataCompanyList.ToList(), orderInfo.Request.Market, orderInfo.Request.Settings.ChargeTypeId, orderInfo.Request.Settings.ProviderId, orderInfo.Request.Fare, orderInfo.Request.TipIncentive, account.DefaultTipPercent, orderInfo.Request.AssignVehicleId); var success = SendOrderCreationCommands(@event.SourceId, result.CreateOrderResult, true, orderInfo.Request.ClientLanguageCode); if (success) { SendConfirmationEmail(result.CreateOrderResult.Value, orderInfo.AccountId, orderInfo.Request.Settings, orderInfo.ChargeTypeEmail, orderInfo.Request.PickupAddress, orderInfo.Request.DropOffAddress, orderInfo.Request.PickupDate, orderInfo.Request.UserNote, orderInfo.Request.ClientLanguageCode); } _ibsCreateOrderService.UpdateOrderStatusAsync(@event.SourceId); }
public void Handle(PrepaidOrderPaymentInfoUpdated @event) { using (var context = _contextFactory.Invoke()) { var orderReport = context.Find <OrderReportDetail>(@event.OrderId); orderReport.Payment.PaymentId = @event.SourceId; orderReport.Payment.TotalAmountCharged = @event.Amount; orderReport.Payment.MeterAmount = @event.Meter; orderReport.Payment.TipAmount = @event.Tip; orderReport.Payment.TransactionId = @event.TransactionId; orderReport.Payment.Provider = @event.Provider; orderReport.Payment.Type = @event.Type; orderReport.Payment.IsCompleted = true; context.Save(orderReport); } }
public void Handle(PrepaidOrderPaymentInfoUpdated @event) { using (var context = _contextFactory.Invoke()) { context.Save(new OrderPaymentDetail { PaymentId = @event.SourceId, Amount = @event.Amount, Meter = @event.Meter, Tax = @event.Tax, Tip = @event.Tip, OrderId = @event.OrderId, TransactionId = @event.TransactionId, Provider = PaymentProvider.PayPal, Type = PaymentType.PayPal, IsCompleted = true }); } }