예제 #1
0
        public static DynamicProperty ToWebModel(this VirtoCommercePlatformCoreDynamicPropertiesDynamicObjectProperty dto)
        {
            var webModel = new DynamicProperty();

            webModel.InjectFrom <NullableAndEnumValueInjecter>(dto);

            if (dto.DisplayNames != null)
            {
                webModel.DisplayNames = dto.DisplayNames.Select(x => new LocalizedString(new Language(x.Locale), x.Name)).ToList();
            }
            if (dto.Values != null)
            {
                if (webModel.IsDictionary)
                {
                    var dictValues = dto.Values.Where(x => x.Value != null).Select(x => x.Value)
                                     .Cast <JObject>()
                                     .Select(x => x.ToObject <VirtoCommercePlatformCoreDynamicPropertiesDynamicPropertyDictionaryItem>())
                                     .ToArray();

                    webModel.DictionaryValues = dictValues.Select(x => x.ToWebModel()).ToList();
                }
                else
                {
                    webModel.Values = dto.Values.Select(x => x.ToWebModel()).ToList();
                }
            }

            return(webModel);
        }
예제 #2
0
        public static VirtoCommercePlatformCoreDynamicPropertiesDynamicObjectProperty ToServiceModel(this DynamicProperty dynamicProperty)
        {
            var retVal = new VirtoCommercePlatformCoreDynamicPropertiesDynamicObjectProperty();

            retVal.InjectFrom <NullableAndEnumValueInjecter>(dynamicProperty);

            if (dynamicProperty.Values != null)
            {
                retVal.Values = dynamicProperty.Values.Select(v => v.ToServiceModelDynamicPropertyObjectValue()).ToList();
            }
            else if (dynamicProperty.DictionaryValues != null)
            {
                retVal.Values = dynamicProperty.DictionaryValues.Select(x => x.ToServiceModelDynamicPropertyObjectValue()).ToList();
            }
            return(retVal);
        }
        public static VirtoCommercePlatformCoreDynamicPropertiesDynamicObjectProperty ToServiceModel(this DynamicProperty dynamicProperty)
        {
            var retVal = new VirtoCommercePlatformCoreDynamicPropertiesDynamicObjectProperty();

            retVal.InjectFrom<NullableAndEnumValueInjecter>(dynamicProperty);

            if (dynamicProperty.Values != null)
            {
                retVal.Values = dynamicProperty.Values.Select(v => v.ToServiceModelDynamicPropertyObjectValue()).ToList();
            }
            else if(dynamicProperty.DictionaryValues != null)
            {
                retVal.Values = dynamicProperty.DictionaryValues.Select(x => x.ToServiceModelDynamicPropertyObjectValue()).ToList();
            }
            return retVal;
        }