private async Task ProcessPayments(ProcessMessageEventArgs args) { var message = args.Message; var body = Encoding.UTF8.GetString(message.Body); PaymentRequestMessage paymentRequestMessage = JsonConvert.DeserializeObject <PaymentRequestMessage>(body); var result = _processPayment.PaymentProcessor(); UpdatePaymentResultMessage updatePaymentResultMessage = new() { Status = result, OrderId = paymentRequestMessage.OrderId, Email = paymentRequestMessage.Email }; try { await _messageBus.PublishMessage(updatePaymentResultMessage, orderupdatepaymentresulttopic); await args.CompleteMessageAsync(args.Message); } catch (Exception e) { throw; } } }
private async Task HandleMessage(PaymentRequestMessage paymentRequestMessage) { var result = _processPayment.PaymentProcessor(); UpdatePaymentResultMessage updatePaymentResultMessage = new() { Status = result, OrderId = paymentRequestMessage.OrderId, Email = paymentRequestMessage.Email }; try { _rabbitMQPaymentMessageSender.SendMessage(updatePaymentResultMessage); // await _messageBus.PublishMessage(updatePaymentResultMessage, orderupdatepaymentresulttopic); // await args.CompleteMessageAsync(args.Message); } catch (Exception e) { throw; } } }