Beispiel #1
0
        /// <summary>
        /// 设置产品分类
        /// </summary>
        /// <param name="product"></param>
        /// <param name="category"></param>
        /// <returns></returns>
        public ProductCategorization Categorize(Product product, Category category)
        {
            if (product == null)
            {
                throw new ArgumentNullException("product");
            }
            if (category == null)
            {
                throw new ArgumentNullException("category");
            }
            var prdCategorization = _productCategorizationRepository.GetBySpecification(
                Specification <ProductCategorization> .Eval(c => c.ProductId == product.Id));
            /*对比这两个方法*/
            var test = _productCategorizationRepository.GetByExpression(c => c.ProductId == product.Id);

            if (prdCategorization == null)
            {
                prdCategorization = ProductCategorization.CreateCategorization(product, category);
                _productCategorizationRepository.Add(prdCategorization);
            }
            else
            {
                prdCategorization.CategoryId = category.Id;
                _productCategorizationRepository.Update(prdCategorization);
            }

            _repositoryContext.Commit();
            return(prdCategorization);
        }
        public ProductCategorization Categorize(Product product, Category category)
        {
            if (product == null)
            {
                throw new ArgumentNullException("product");
            }
            if (category == null)
            {
                throw new ArgumentNullException("category");
            }

            var productCategorization =
                _productCategorizationRepository.FirstOrDefault(c => c.Product.Id == product.Id);

            if (productCategorization == null)
            {
                productCategorization = ProductCategorization.CreateCategorization(product, category);
                _productCategorizationRepository.Insert(productCategorization);
            }
            else
            {
                productCategorization.Category.Id = category.Id;
                _productCategorizationRepository.Update(productCategorization);
            }

            return(productCategorization);
        }