private void AddMultipleOptionNames(SpecificationAttributeOptionModel model)
		{
			var values = model.Name.SplitSafe(";");
			int order = model.DisplayOrder;

			for (int i = 0; i < values.Length; ++i)
			{
				var sao = new SpecificationAttributeOption()
				{
					Name = values[i].Trim(),
					DisplayOrder = order++,
					SpecificationAttributeId = model.SpecificationAttributeId
				};

				_specificationAttributeService.InsertSpecificationAttributeOption(sao);

				foreach (var localized in model.Locales.Where(l => l.Name.HasValue()))
				{
					var localizedValues = localized.Name.SplitSafe(";");
					string value = (i < localizedValues.Length ? localizedValues[i].Trim() : sao.Name);

					_localizedEntityService.SaveLocalizedValue(sao, x => x.Name, value, localized.LanguageId);
				}
			}
		}
 public void UpdateOptionLocales(SpecificationAttributeOption specificationAttributeOption, SpecificationAttributeOptionModel model)
 {
     foreach (var localized in model.Locales)
     {
         _localizedEntityService.SaveLocalizedValue(specificationAttributeOption, x => x.Name, localized.Name, localized.LanguageId);
     }
 }
        public void Can_save_and_load_specificationAttributeOption()
        {
            var specificationAttributeOption = new SpecificationAttributeOption
            {
                Name = "SpecificationAttributeOption name 1",
                DisplayOrder = 1,
                SpecificationAttribute = new SpecificationAttribute()
                {
                    Name = "SpecificationAttribute name 1",
                    DisplayOrder = 2,
                }
            };

            var fromDb = SaveAndLoadEntity(specificationAttributeOption);
            fromDb.ShouldNotBeNull();
            fromDb.Name.ShouldEqual("SpecificationAttributeOption name 1");
            fromDb.DisplayOrder.ShouldEqual(1);

            fromDb.SpecificationAttribute.ShouldNotBeNull();
            fromDb.SpecificationAttribute.Name.ShouldEqual("SpecificationAttribute name 1");
        }
        /// <summary>
        /// Updates the specification attribute
        /// </summary>
        /// <param name="specificationAttributeOption">The specification attribute option</param>
        public virtual void UpdateSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption)
        {
            if (specificationAttributeOption == null)
                throw new ArgumentNullException("specificationAttributeOption");

            _specificationAttributeOptionRepository.Update(specificationAttributeOption);

            _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY);

            //event notification
            _eventPublisher.EntityUpdated(specificationAttributeOption);
        }
 public static SpecificationAttributeOption ToEntity(this SpecificationAttributeOptionModel model, SpecificationAttributeOption destination)
 {
     return Mapper.Map(model, destination);
 }