public void Can_save_and_load_predefinedProductAttributeValue() { var pav = new PredefinedProductAttributeValue { Name = "Name 1", PriceAdjustment = 1.1M, WeightAdjustment = 2.1M, Cost = 3.1M, IsPreSelected = true, DisplayOrder = 3, ProductAttribute = new ProductAttribute { Name = "Name 1" } }; var fromDb = SaveAndLoadEntity(pav); fromDb.ShouldNotBeNull(); fromDb.Name.ShouldEqual("Name 1"); fromDb.PriceAdjustment.ShouldEqual(1.1M); fromDb.WeightAdjustment.ShouldEqual(2.1M); fromDb.Cost.ShouldEqual(3.1M); fromDb.IsPreSelected.ShouldEqual(true); fromDb.DisplayOrder.ShouldEqual(3); fromDb.ProductAttribute.ShouldNotBeNull(); fromDb.ProductAttribute.Name.ShouldEqual("Name 1"); }
protected virtual void UpdateLocales(PredefinedProductAttributeValue ppav, PredefinedProductAttributeValueModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(ppav, x => x.Name, localized.Name, localized.LanguageId); } }
/// <summary> /// Updates the predefined product attribute value /// </summary> /// <param name="ppav">The predefined product attribute value</param> public virtual void UpdatePredefinedProductAttributeValue(PredefinedProductAttributeValue ppav) { if (ppav == null) throw new ArgumentNullException("ppav"); _predefinedProductAttributeValueRepository.Update(ppav); //cache _cacheManager.RemoveByPattern(PRODUCTATTRIBUTES_PATTERN_KEY); _cacheManager.RemoveByPattern(PRODUCTATTRIBUTEMAPPINGS_PATTERN_KEY); _cacheManager.RemoveByPattern(PRODUCTATTRIBUTEVALUES_PATTERN_KEY); _cacheManager.RemoveByPattern(PRODUCTATTRIBUTECOMBINATIONS_PATTERN_KEY); //event notification _eventPublisher.EntityUpdated(ppav); }
public ActionResult PredefinedProductAttributeValueCreatePopup(string btnId, string formId, PredefinedProductAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes)) return AccessDeniedView(); var productAttribute = _productAttributeService.GetProductAttributeById(model.ProductAttributeId); if (productAttribute == null) throw new ArgumentException("No product attribute found with the specified id"); if (ModelState.IsValid) { var ppav = new PredefinedProductAttributeValue { ProductAttributeId = model.ProductAttributeId, Name = model.Name, PriceAdjustment = model.PriceAdjustment, WeightAdjustment = model.WeightAdjustment, Cost = model.Cost, IsPreSelected = model.IsPreSelected, DisplayOrder = model.DisplayOrder }; _productAttributeService.InsertPredefinedProductAttributeValue(ppav); UpdateLocales(ppav, model); ViewBag.RefreshPage = true; ViewBag.btnId = btnId; ViewBag.formId = formId; return View(model); } //If we got this far, something failed, redisplay form return View(model); }
protected virtual List<LocalizedProperty> UpdateLocales(PredefinedProductAttributeValue ppav, PredefinedProductAttributeValueModel model) { List<LocalizedProperty> localized = new List<LocalizedProperty>(); foreach (var local in model.Locales) { if (!(String.IsNullOrEmpty(local.Name))) localized.Add(new LocalizedProperty() { LanguageId = local.LanguageId, LocaleKey = "Name", LocaleValue = local.Name, _id = ObjectId.GenerateNewId().ToString(), Id = localized.Count > 0 ? localized.Max(x => x.Id) + 1 : 1, }); } return localized; }