From a5ae82b99989a7ccc04996e8346d3c80d5165810 Mon Sep 17 00:00:00 2001 From: Dmitriy Benyuk Date: Wed, 21 Jan 2026 18:42:51 +0200 Subject: [PATCH] Fix GetFilteredVariants() NullReferenceException --- ...namicweb.Ecommerce.DynamicwebLiveIntegration.csproj | 2 +- .../Products/ProductManager.cs | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Dynamicweb.Ecommerce.DynamicwebLiveIntegration.csproj b/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Dynamicweb.Ecommerce.DynamicwebLiveIntegration.csproj index b272422..a9debb9 100644 --- a/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Dynamicweb.Ecommerce.DynamicwebLiveIntegration.csproj +++ b/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Dynamicweb.Ecommerce.DynamicwebLiveIntegration.csproj @@ -1,6 +1,6 @@  - 10.4.33 + 10.4.34 1.0.0.0 Live Integration Live Integration diff --git a/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Products/ProductManager.cs b/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Products/ProductManager.cs index 5f26f52..4a06c61 100644 --- a/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Products/ProductManager.cs +++ b/src/Dynamicweb.Ecommerce.DynamicwebLiveIntegration/Products/ProductManager.cs @@ -302,8 +302,10 @@ private static List GetProductsForRequest(Settings settin // setting to request all variants in request if (getProductInformationForAllVariants) { - var variants = Services.VariantCombinations.GetVariantCombinations(product.Id)?.Select(vc => Services.Products.GetProductById(vc.ProductId, vc.VariantId, false)).ToList(); - if (variants != null) + var variants = Services.VariantCombinations.GetVariantCombinations(product.Id)?.Select(vc => Services.Products.GetProductById(vc.ProductId, vc.VariantId, false)) + .Where(v => v is not null).ToList(); + + if (variants.Count > 0) { variants = GetFilteredVariants(variants); foreach (var variant in variants) @@ -362,6 +364,10 @@ private static List GetFilteredVariants(List variants) List result = new List(); foreach (var variant in variants) { + if (variant is null) + { + continue; + } if (!variant.Active && (hideInactiveVariants || inactiveVariantsNotSet && hideInactiveProducts)) { continue;