public void Can_save_and_load_addressAttributeValue() { var cav = new AddressAttributeValue { Name = "Name 2", IsPreSelected = true, DisplayOrder = 1, AddressAttribute = new AddressAttribute { Name = "Name 1", IsRequired = true, AttributeControlType = AttributeControlType.DropdownList, DisplayOrder = 2 } }; var fromDb = SaveAndLoadEntity(cav); fromDb.ShouldNotBeNull(); fromDb.Name.ShouldEqual("Name 2"); fromDb.IsPreSelected.ShouldEqual(true); fromDb.DisplayOrder.ShouldEqual(1); fromDb.AddressAttribute.ShouldNotBeNull(); fromDb.AddressAttribute.Name.ShouldEqual("Name 1"); }
protected virtual void UpdateValueLocales(AddressAttributeValue addressAttributeValue, AddressAttributeValueModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(addressAttributeValue, x => x.Name, localized.Name, localized.LanguageId); } }
/// <summary> /// Updates the address attribute value /// </summary> /// <param name="addressAttributeValue">Address attribute value</param> public virtual void UpdateAddressAttributeValue(AddressAttributeValue addressAttributeValue) { if (addressAttributeValue == null) throw new ArgumentNullException("addressAttributeValue"); _addressAttributeValueRepository.Update(addressAttributeValue); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTES_PATTERN_KEY); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTEVALUES_PATTERN_KEY); //event notification _eventPublisher.EntityUpdated(addressAttributeValue); }
public ActionResult ValueCreatePopup(string btnId, string formId, AddressAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var addressAttribute = _addressAttributeService.GetAddressAttributeById(model.AddressAttributeId); if (addressAttribute == null) //No address attribute found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { var cav = new AddressAttributeValue { AddressAttributeId = model.AddressAttributeId, Name = model.Name, IsPreSelected = model.IsPreSelected, DisplayOrder = model.DisplayOrder }; _addressAttributeService.InsertAddressAttributeValue(cav); UpdateValueLocales(cav, 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); }
public ActionResult ValueCreatePopup(string btnId, string formId, AddressAttributeValueModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var addressAttribute = _addressAttributeService.GetAddressAttributeById(model.AddressAttributeId); if (addressAttribute == null) //No address attribute found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { var cav = new AddressAttributeValue { Id = addressAttribute.AddressAttributeValues.Count > 0 ? addressAttribute.AddressAttributeValues.Max(x=>x.Id) + 1: 1, _id = ObjectId.GenerateNewId().ToString(), AddressAttributeId = model.AddressAttributeId, Name = model.Name, IsPreSelected = model.IsPreSelected, DisplayOrder = model.DisplayOrder }; addressAttribute.Locales.Clear(); foreach (var local in model.Locales) { if(!(String.IsNullOrEmpty(local.Name))) addressAttribute.Locales.Add(new Core.Domain.Localization.LocalizedProperty() { LanguageId = local.LanguageId, LocaleKey = "Name", LocaleValue = local.Name }); } _addressAttributeService.InsertAddressAttributeValue(cav); //UpdateValueLocales(cav, 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); }
/// <summary> /// Updates the address attribute value /// </summary> /// <param name="addressAttributeValue">Address attribute value</param> public virtual void UpdateAddressAttributeValue(AddressAttributeValue addressAttributeValue) { if (addressAttributeValue == null) throw new ArgumentNullException("addressAttributeValue"); var builder = Builders<AddressAttribute>.Filter; var filter = builder.Eq(x => x.Id, addressAttributeValue.AddressAttributeId); filter = filter & builder.ElemMatch(x => x.AddressAttributeValues, y => y.Id == addressAttributeValue.Id); var update = Builders<AddressAttribute>.Update .Set(x => x.AddressAttributeValues.ElementAt(-1).DisplayOrder, addressAttributeValue.DisplayOrder) .Set(x => x.AddressAttributeValues.ElementAt(-1).IsPreSelected, addressAttributeValue.IsPreSelected) .Set(x => x.AddressAttributeValues.ElementAt(-1).Locales, addressAttributeValue.Locales) .Set(x => x.AddressAttributeValues.ElementAt(-1).Name, addressAttributeValue.Name); var result = _addressAttributeRepository.Collection.UpdateManyAsync(filter, update).Result; _cacheManager.RemoveByPattern(ADDRESSATTRIBUTES_PATTERN_KEY); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTEVALUES_PATTERN_KEY); //event notification _eventPublisher.EntityUpdated(addressAttributeValue); }
/// <summary> /// Inserts an address attribute value /// </summary> /// <param name="addressAttributeValue">Address attribute value</param> public virtual void InsertAddressAttributeValue(AddressAttributeValue addressAttributeValue) { if (addressAttributeValue == null) throw new ArgumentNullException("addressAttributeValue"); var updatebuilder = Builders<AddressAttribute>.Update; var update = updatebuilder.AddToSet(p => p.AddressAttributeValues, addressAttributeValue); _addressAttributeRepository.Collection.UpdateOneAsync(new BsonDocument("Id", addressAttributeValue.AddressAttributeId), update); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTES_PATTERN_KEY); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTEVALUES_PATTERN_KEY); //event notification _eventPublisher.EntityInserted(addressAttributeValue); }