public void Can_save_and_load_productTag() { var productTag = new ProductTag { Name = "Name 1", }; var fromDb = SaveAndLoadEntity(productTag); fromDb.ShouldNotBeNull(); fromDb.Name.ShouldEqual("Name 1"); }
/// <summary> /// Delete a product tag /// </summary> /// <param name="productTag">Product tag</param> public virtual void DeleteProductTag(ProductTag productTag) { if (productTag == null) throw new ArgumentNullException("productTag"); _productTagRepository.Delete(productTag); //cache _cacheManager.RemoveByPattern(PRODUCTTAG_PATTERN_KEY); //event notification _eventPublisher.EntityDeleted(productTag); }
private void UpdateLocales(ProductTag productTag, ProductTagModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(productTag, x => x.Name, localized.Name, localized.LanguageId); } }
private void SaveProductTags(Product product, string[] productTags) { if (product == null) throw new ArgumentNullException("product"); //product tags var existingProductTags = product.ProductTags.ToList(); var productTagsToRemove = new List<ProductTag>(); foreach (var existingProductTag in existingProductTags) { bool found = false; foreach (string newProductTag in productTags) { if (existingProductTag.Name.Equals(newProductTag, StringComparison.InvariantCultureIgnoreCase)) { found = true; break; } } if (!found) { productTagsToRemove.Add(existingProductTag); } } foreach (var productTag in productTagsToRemove) { product.ProductTags.Remove(productTag); _productService.UpdateProduct(product); } foreach (string productTagName in productTags) { ProductTag productTag = null; var productTag2 = _productTagService.GetProductTagByName(productTagName); if (productTag2 == null) { //add new product tag productTag = new ProductTag() { Name = productTagName }; _productTagService.InsertProductTag(productTag); } else { productTag = productTag2; } if (!product.ProductTagExists(productTag.Id)) { product.ProductTags.Add(productTag); _productService.UpdateProduct(product); } } }