Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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;
        }