Developer forum

Forum » Integration » Problems with Live Integration after upgrading Dw from 9.6.3 to 9.7.4

Problems with Live Integration after upgrading Dw from 9.6.3 to 9.7.4

Emil Dumitrescu
Reply

Hello,

We had some problems when we upgraded one of our solutions from 9.6.3 to 9.7.4 having the standard live integration assembly 2.3.2 (same behaviour on 2.3.3 as well). We have live pricing (but NOT live cart) and in 9.6.3 it worked well, but when we upgraded the Dynamicweb to version 9.7.4, we had two issues, that we fixed them by downloading the live integration project source code from you and deactivating some code in that project that was causing errors, but you will have to see why it didn't work and fix it for all scenarios, as for us it was enough to just remove some problematic code from there. The problems were:

1) When someone entered on a product detail page, the calls to NAV stopped being made for that user in that ASP.NET session (so for that user it worked again when doing a site restart or the user would login again). The cache settings in the live integration admin panel are based on session in our solution. The problematic code was in the ProductManager class in the "bool FetchProductInfos(Dictionary<Product, double> products, User user, bool updateCache = true)" method:

...
if (IsLastResponseValid())
{
    // No need to read cache
    return false;
}
...

After entering on a product detail page, the IsLastResponseValid() method would always return true, which means that would always exit from this FetchProductInfos method, so it stopped going further and doing live pricing calls. We removed this block and then we didn't have this issue after.

2) The VAT was shown fine in product list and details, but in cart the price was always without VAT (and as I said earlier, we do NOT use the live cart functionality). The problematic code was in the ProductProviderBase class, in the "void FillProductValues(ProductInfo productInfo, Product product, double quantity)" method:

...
product.Price.PriceWithoutVAT = priceValue.GetValueOrDefault(); // NOTE accessing the Price property, will trigger the price provider to kick in
product.Price.PriceWithVAT = priceValue.GetValueOrDefault();
...

Here the price with VAT set on the product is set to be the same with the price without VAT. I think you will have to create a PriceInfo/PriceCalculated that calculates the VAT based on the base price, and setting those properties accordingly. In our project, we don't use the price based on quantity, so we just removed this code to fix the issue, but you will have to find another way to set those properly.

Hope this will help you to fix the issues.

Regards,
Emil

 

 


Replies

 

You must be logged in to post in the forum