public ProductViewModel(SKUTreeNode productPage, ProductPrice price, ITypedProductViewModel typedProductViewModel, Variant defaultVariant, IEnumerable <ProductOptionCategoryViewModel> categories) : this(productPage, price, typedProductViewModel) { if (defaultVariant == null) { throw new ArgumentNullException(nameof(defaultVariant)); } IsInStock = !defaultVariant.InventoryTracked || defaultVariant.AvailableItems > 0; SelectedVariantID = defaultVariant.VariantSKUID; // Variant categories which will be rendered ProductOptionCategories = categories; }
public ProductViewModel(SKUTreeNode productPage, ProductCatalogPrices price, ITypedProductViewModel typedProductViewModel, ProductVariant defaultVariant, IEnumerable <ProductOptionCategoryViewModel> categories) : this(productPage, price, typedProductViewModel) { if (defaultVariant == null) { throw new ArgumentNullException(nameof(defaultVariant)); } var variant = defaultVariant.Variant; IsInStock = ((variant.SKUTrackInventory == TrackInventoryTypeEnum.Disabled) || (variant.SKUAvailableItems > 0)); SelectedVariantID = variant.SKUID; // Variant categories which will be rendered ProductOptionCategories = categories; }
public ProductViewModel(SKUTreeNode productPage, ProductCatalogPrices priceDetail, ITypedProductViewModel typedProductViewModel = null) { // Set page information Name = productPage.DocumentName; Description = productPage.DocumentSKUDescription; ShortDescription = productPage.DocumentSKUShortDescription; // Set SKU information var sku = productPage.SKU; SKUID = sku.SKUID; ImagePath = sku.SKUImagePath; IsInStock = sku.SKUTrackInventory == TrackInventoryTypeEnum.Disabled || sku.SKUAvailableItems > 0; // Set additional info TypedProduct = typedProductViewModel; PriceDetail = priceDetail; }
public ProductViewModel(SKUTreeNode productPage, ProductCatalogPrices priceDetail, ITypedProductViewModel typedProductViewModel = null) { // Set page information Name = productPage.DocumentName; Description = productPage.DocumentSKUDescription; ShortDescription = productPage.DocumentSKUShortDescription; // Set SKU information var sku = productPage.SKU; SKUID = sku.SKUID; ImagePath = string.IsNullOrEmpty(sku.SKUImagePath) ? null : new FileUrl(sku.SKUImagePath, true).WithSizeConstraint(SizeConstraint.MaxWidthOrHeight(400)).RelativePath; IsInStock = sku.SKUTrackInventory == TrackInventoryTypeEnum.Disabled || sku.SKUAvailableItems > 0; AllowSale = IsInStock || !sku.SKUSellOnlyAvailable; // Set additional info TypedProduct = typedProductViewModel; PriceDetail = priceDetail; }