so result is not null, orderService is not null, but order is? can you verify that order 3255 exists through yoursite.com/Admin/Order/Edit/3255 ?
or directly with SQL?
IOrderService orderService = EngineContext.Current.Resolve<IOrderService>();This is the one that is NULL
[HttpPost]
public IActionResult MollieWebHook(string id)
{
_logger.Information(id);
Task<OrderResponse> retrieveOrderTask = Task.Run(() => (_mollieOrderClient.GetOrderAsync(id)));
retrieveOrderTask.Wait();
OrderResponse result = retrieveOrderTask.Result;
_logger.Information(result.OrderNumber);
IOrderService orderService = EngineContext.Current.Resolve<IOrderService>();
_logger.Information("OrderService " + orderService.ToString());
if (orderService == null)
_logger.Warning("orderService object is null");
Order order = orderService.GetOrderById(Convert.ToInt32(result.OrderNumber));
if (order == null)
_logger.Warning("Order object is null");
order.PaymentStatus = MolliePaymentStatusToNopCommercePaymentStatus(result.Status);
return Ok(200);
}
[HttpPost]
public IActionResult MollieWebHook(string id)
{
_logger.Information(id);
//Task<OrderResponse> retrieveOrderTask = Task.Run(() => (_mollieOrderClient.GetOrderAsync(id)));
//retrieveOrderTask.Wait();
//OrderResponse result = retrieveOrderTask.Result;
//_logger.Information(result.OrderNumber);
IOrderService orderService = EngineContext.Current.Resolve<IOrderService>();
_logger.Information("OrderService " + orderService.ToString());
if (orderService == null)
_logger.Warning("orderService object is null");
Order order = orderService.GetOrderById(2751));
if (order == null)
_logger.Warning("Order object is null");
order.PaymentStatus = MolliePaymentStatusToNopCommercePaymentStatus(result.Status);
return Ok(200);
}
[HttpPost]
public IActionResult MollieWebHook(string id)
{
var retrieveOrderTask = RetrieveOrder(id);
var GetOrderTask = retrieveOrderTask.ContinueWith(t => GetOrder(retrieveOrderTask));
var rot = retrieveOrderTask.Result;
var got = GetOrderTask.Result;
if (rot == null || got == null)
return NotFound(404);
return Ok(200);
}
private Task<OrderResponse> RetrieveOrder(string id)
{
return _mollieOrderClient.GetOrderAsync(id);
}
private Task<Order> GetOrder(Task<OrderResponse> response)
{
return Task.Run(() =>
{
IOrderService orderService = EngineContext.Current.Resolve<IOrderService>();
Order order = orderService.GetOrderById(Convert.ToInt32(response.Result.OrderNumber));
order.PaymentStatus = MolliePaymentStatusToNopCommercePaymentStatus(response.Result.Status);
return order;
});
}
[HttpPost]
public virtual IActionResult MollieWebhook(int? orderId, string id)
{
if (!orderId.HasValue)
return BadRequest(400);
IOrderService orderService = EngineContext.Current.Resolve<IOrderService>();
Order order = orderService.GetOrderById(orderId.Value);
order.PaymentStatus = Core.Domain.Payments.PaymentStatus.Paid;
return Ok(200);
}