Having some issues with the ProfileModule, specifically the MigrateCarts method.
Scenario is that anonymous user, with a cart, attempts to log in as a authorized user, also with a cart. Thus, the MigrateCarts method will run. However, it fails due to error in this stack trace:
I've done some debugging, and it seems like the issue is that the same address is sent to the method OrderForm.UpdateOrderAddress(OrderAddress address, IOrderAddress orderAddress) - in other words, address and orderAddress is the same instance.
Specifically, it's this foreach that fails:
foreach (object key in (IEnumerable) source.Properties.Keys)
{
if (overwrite || !target.Properties.ContainsKey(key))
target.Properties[key] = source.Properties[key];
}
... which makes sense, because you can't update the same enumerator that you enumerate. So, the issue must be that the same address is passed to UpdateOrderAddress(...). Has anyone had this issue?
EDIT: One more thing, serializable carts is not used. We're still using the old cart system.
Having some issues with the ProfileModule, specifically the MigrateCarts method.
Scenario is that anonymous user, with a cart, attempts to log in as a authorized user, also with a cart. Thus, the MigrateCarts method will run. However, it fails due to error in this stack trace:
I've done some debugging, and it seems like the issue is that the same address is sent to the method OrderForm.UpdateOrderAddress(OrderAddress address, IOrderAddress orderAddress) - in other words, address and orderAddress is the same instance.
Specifically, it's this foreach that fails:
... which makes sense, because you can't update the same enumerator that you enumerate. So, the issue must be that the same address is passed to UpdateOrderAddress(...). Has anyone had this issue?
EDIT: One more thing, serializable carts is not used. We're still using the old cart system.