|
|
@ -6,6 +6,7 @@ using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Ordering.API.Application.IntegrationEvents.Events; |
|
|
|
using Serilog.Context; |
|
|
|
using Microsoft.eShopOnContainers.Services.Ordering.API; |
|
|
|
|
|
|
|
namespace Ordering.API.Application.IntegrationEvents.EventHandling |
|
|
|
{ |
|
|
@ -35,34 +36,38 @@ namespace Ordering.API.Application.IntegrationEvents.EventHandling |
|
|
|
{ |
|
|
|
using (LogContext.PushProperty("IntegrationEventId", eventMsg.Id)) |
|
|
|
{ |
|
|
|
_logger.LogInformation("----- UserCheckoutAcceptedIntegrationEventHandler - Handling integration event: {IntegrationEventId} ({@IntegrationEvent})", eventMsg.Id, eventMsg); |
|
|
|
_logger.LogInformation("----- Handling integration event: {IntegrationEventId} at {AppShortName} - ({@IntegrationEvent})", eventMsg.Id, Program.AppShortName, eventMsg); |
|
|
|
|
|
|
|
var result = false; |
|
|
|
|
|
|
|
if (eventMsg.RequestId != Guid.Empty) |
|
|
|
{ |
|
|
|
var createOrderCommand = new CreateOrderCommand(eventMsg.Basket.Items, eventMsg.UserId, eventMsg.UserName, eventMsg.City, eventMsg.Street, |
|
|
|
eventMsg.State, eventMsg.Country, eventMsg.ZipCode, |
|
|
|
eventMsg.CardNumber, eventMsg.CardHolderName, eventMsg.CardExpiration, |
|
|
|
eventMsg.CardSecurityNumber, eventMsg.CardTypeId); |
|
|
|
using (LogContext.PushProperty("IdentifiedCommandId", eventMsg.RequestId)) |
|
|
|
{ |
|
|
|
var createOrderCommand = new CreateOrderCommand(eventMsg.Basket.Items, eventMsg.UserId, eventMsg.UserName, eventMsg.City, eventMsg.Street, |
|
|
|
eventMsg.State, eventMsg.Country, eventMsg.ZipCode, |
|
|
|
eventMsg.CardNumber, eventMsg.CardHolderName, eventMsg.CardExpiration, |
|
|
|
eventMsg.CardSecurityNumber, eventMsg.CardTypeId); |
|
|
|
|
|
|
|
_logger.LogInformation("----- UserCheckoutAcceptedIntegrationEventHandler - CreateOrderCommand: {@CreateOrderCommand}", createOrderCommand); |
|
|
|
var requestCreateOrder = new IdentifiedCommand<CreateOrderCommand, bool>(createOrderCommand, eventMsg.RequestId); |
|
|
|
|
|
|
|
var requestCreateOrder = new IdentifiedCommand<CreateOrderCommand, bool>(createOrderCommand, eventMsg.RequestId); |
|
|
|
result = await _mediator.Send(requestCreateOrder); |
|
|
|
_logger.LogInformation("----- IdentifiedCreateOrderCommand: {@IdentifiedCreateOrderCommand}", requestCreateOrder); |
|
|
|
|
|
|
|
if (result) |
|
|
|
{ |
|
|
|
_logger.LogInformation("----- UserCheckoutAcceptedIntegrationEventHandler - CreateOrderCommand suceeded - RequestId: {RequestId}", eventMsg.RequestId); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_logger.LogWarning("----- UserCheckoutAcceptedIntegrationEventHandler - CreateOrderCommand failed - RequestId: {RequestId}", eventMsg.RequestId); |
|
|
|
result = await _mediator.Send(requestCreateOrder); |
|
|
|
|
|
|
|
if (result) |
|
|
|
{ |
|
|
|
_logger.LogInformation("----- CreateOrderCommand suceeded - RequestId: {RequestId}", eventMsg.RequestId); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_logger.LogWarning("----- CreateOrderCommand failed - RequestId: {RequestId}", eventMsg.RequestId); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_logger.LogWarning("----- UserCheckoutAcceptedIntegrationEventHandler - Invalid IntegrationEvent - RequestId is missing}"); |
|
|
|
_logger.LogWarning("----- Invalid IntegrationEvent - RequestId is missing - {@IntegrationEvent}", eventMsg); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|