示例#1
0
        /// <summary>
        /// The visit.
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        public void Visit(ILineItem lineItem)
        {
            if (lineItem.LineItemType != LineItemType.Product || !lineItem.AllowsValidation())
            {
                return;
            }

            if (!lineItem.ExtendedData.DefinesProductVariant())
            {
                return;
            }

            var item = _merchello.Query.Product.GetProductVariantByKey(lineItem.ExtendedData.GetProductVariantKey());

            if (!item.TrackInventory || item.OutOfStockPurchase)
            {
                return;
            }

            if (item.TotalInventoryCount > 0)
            {
                return;
            }

            _outOfStockItems.Add(lineItem);
        }
        /// <summary>
        /// The visit.
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        public void Visit(ILineItem lineItem)
        {
            if (lineItem.LineItemType != LineItemType.Product || !lineItem.AllowsValidation()) return;

            if (!lineItem.ExtendedData.DefinesProductVariant()) return;

            var item = _merchello.Query.Product.GetProductVariantByKey(lineItem.ExtendedData.GetProductVariantKey());

            if (item.OnSale != lineItem.ExtendedData.GetOnSaleValue())
            {
                _invalidPrices.Add(lineItem, item);
                return;
            }

            if ((item.OnSale && (item.SalePrice != lineItem.Price)) || (!item.OnSale && (item.Price != lineItem.Price)))
            {
                _invalidPrices.Add(lineItem, item);
                return;
            }

            // Check if there have been any changes to the product through the service
            if (lineItem.ExtendedData.GetVersionKey() == item.VersionKey) return;

            // on sale
            if (item.OnSale != lineItem.ExtendedData.GetOnSaleValue())
            {
                _invalidPrices.Add(lineItem, item);
            }
        }
        /// <summary>
        /// The visit.
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        public void Visit(ILineItem lineItem)
        {
            if (lineItem.LineItemType != LineItemType.Product || !lineItem.AllowsValidation()) return;

            if (!lineItem.ExtendedData.DefinesProductVariant()) return;

            var variant = _merchello.Query.Product.GetProductVariantByKey(lineItem.ExtendedData.GetProductVariantKey());

            if (variant == null) _noLongerExists.Add(lineItem);
        }
        /// <summary>
        /// The visit.
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        public void Visit(ILineItem lineItem)
        {
            if (lineItem.LineItemType != LineItemType.Product || !lineItem.AllowsValidation()) return;

            if (!lineItem.ExtendedData.DefinesProductVariant()) return;

            var item = _merchello.Query.Product.GetProductVariantByKey(lineItem.ExtendedData.GetProductVariantKey());

            if (!item.TrackInventory || item.OutOfStockPurchase) return;

            if (item.TotalInventoryCount > 0) return;

            _outOfStockItems.Add(lineItem);
        }
示例#5
0
        /// <summary>
        /// The visit.
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        public void Visit(ILineItem lineItem)
        {
            if (lineItem.LineItemType != LineItemType.Product || !lineItem.AllowsValidation())
            {
                return;
            }

            if (!lineItem.ExtendedData.DefinesProductVariant())
            {
                return;
            }

            var variant = _merchello.Query.Product.GetProductVariantByKey(lineItem.ExtendedData.GetProductVariantKey());

            if (variant == null)
            {
                _noLongerExists.Add(lineItem);
            }
        }
示例#6
0
        /// <summary>
        /// The visit.
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        public void Visit(ILineItem lineItem)
        {
            if (lineItem.LineItemType != LineItemType.Product || !lineItem.AllowsValidation())
            {
                return;
            }

            if (!lineItem.ExtendedData.DefinesProductVariant())
            {
                return;
            }

            var item = _merchello.Query.Product.GetProductVariantByKey(lineItem.ExtendedData.GetProductVariantKey());

            if (item.OnSale != lineItem.ExtendedData.GetOnSaleValue())
            {
                _invalidPrices.Add(lineItem, item);
                return;
            }

            if ((item.OnSale && (item.SalePrice != lineItem.Price)) || (!item.OnSale && (item.Price != lineItem.Price)))
            {
                _invalidPrices.Add(lineItem, item);
                return;
            }

            // Check if there have been any changes to the product through the service
            if (lineItem.ExtendedData.GetVersionKey() == item.VersionKey)
            {
                return;
            }

            // on sale
            if (item.OnSale != lineItem.ExtendedData.GetOnSaleValue())
            {
                _invalidPrices.Add(lineItem, item);
            }
        }