Вопрос о скидках nopCommerce? - PullRequest
1 голос
/ 11 июля 2011

Я использую noCommerce 1.9 и изменил часть кода «HasOneOfTheseProductVarientsInTheCart» следующим образом:

case DiscountRequirementEnum.HasOneOfTheseProductVariantsInTheCart:
    {
        if (customer != null)
        {
            CustomerSession customerSession = IoC.Resolve<ICustomerService>().GetCustomerSessionByCustomerId(customer.CustomerId);
            if (customerSession != null)
            {
                var restrictedProductVariants = IoC.Resolve<IProductService>().GetProductVariantsRestrictedByDiscountId(discount.DiscountId);
                var cart = IoC.Resolve<IShoppingCartService>().GetShoppingCartByCustomerSessionGuid(ShoppingCartTypeEnum.ShoppingCart, customerSession.CustomerSessionGuid);

                bool found = false;
                int totalfound = 0;
                foreach (ProductVariant restrictedPv in restrictedProductVariants)
                {
                    foreach (ShoppingCartItem sci in cart)
                    {
                        if (restrictedPv.ProductVariantId == sci.ProductVariantId)
                        {
                           // found = true;
                            totalfound++;
                            if (sci.Quantity > 1)
                            {
                                totalfound++;
                            }
                            break;
                        }
                    }

                    /*if (found)
                    {
                        break;
                    }*/
                }

                if (totalfound>1)
                    return true;
            }
        }
    }
    break;

Он работает хорошо, так как я определяю идентификаторы разновидностей продукта в системе и применяет скидкутолько к этому.

Я хочу иметь возможность иметь 2 предмета по 20 фунтов стерлингов и 1 отдельный предмет по полной цене (11,99 фунтов стерлингов).

Так что в основном каждое нечетное число является полной ценой.

Моя проблема в том, что мой текущий код также меняет цену на домашней странице ... поэтому скидка, похоже, применяется в другом месте ..

есть идеи?

...