代码之家  ›  专栏  ›  技术社区  ›  Oskar Kjellin

无商业环境足迹问题

  •  1
  • Oskar Kjellin  · 技术社区  · 14 年前

    我在我的网上商店使用nopcomerce,我使用的任务是在订单发货时从外部系统获取信息。当它被发货时,我想捕获付款,然后将其设置为已发货。但是,我一直有EF错误。现在有什么办法解决这个问题吗?我要把它启动运行

    请参阅下面的代码:

                    int orderId = PBSManager.GetOrderIdByCustomOrderNumber(customOrderNumber);
                NopObjectContext db = ObjectContextHelper.CurrentObjectContext;
                Order order = db.Orders.SingleOrDefault(c => c.OrderId == orderId);
                //Incorrect order id    
                if (order == null)
                {
                    //Skip this one if we cannot find the id
                    continue;
                }
                if (OrderManager.CanCapture(order))
                {
                    string error = string.Empty;
                    OrderManager.Capture(order, ref error);
                    if (!string.IsNullOrEmpty(error))
                    {
                        PBSManager.HandleCaptureError(order, error);
                        return;
                    }
                }
                if (OrderManager.CanShip(order))
                {
                    OrderManager.Ship(order.OrderId, true);
                }
    
    2 回复  |  直到 14 年前
        1
  •  0
  •   Community CDub    7 年前

    我只是猜测您可能正在OrderManager类中创建另一个上下文。你应该使用相同的上下文。

    这个链接有什么帮助吗

    Multiple instances of context

        2
  •  0
  •   Starjumper Tech SL    13 年前

    nopCommerce不将当前上下文存储在HttpContext中吗,您尝试过在其中查找它吗?