public static DataContracts.DynamicProperties.DynamicProperty ToServiceModel(this DynamicProperty dynamicProperty) { var serviceModel = new DataContracts.DynamicProperties.DynamicProperty(); serviceModel.InjectFrom(dynamicProperty); if (dynamicProperty.Values != null) { serviceModel.Values = new List <object>(); if (serviceModel.IsDictionary) { foreach (var value in dynamicProperty.Values) { if (!string.IsNullOrEmpty(value)) { var dictionaryItem = dynamicProperty.DictionaryItems.FirstOrDefault(i => i.Name == value); if (dictionaryItem != null) { serviceModel.Values.Add(new { Value = dictionaryItem }); } } } } else { foreach (var value in dynamicProperty.Values) { if (!string.IsNullOrEmpty(value)) { serviceModel.Values.Add(new { Value = value }); } } } } if (dynamicProperty.DictionaryItems != null) { serviceModel.DictionaryItems = dynamicProperty.DictionaryItems.Select(x => x.ToServiceModel()).ToList(); } return(serviceModel); }
public static DataContracts.DynamicProperties.DynamicProperty ToServiceModel(this DynamicProperty dynamicProperty) { var serviceModel = new DataContracts.DynamicProperties.DynamicProperty(); serviceModel.InjectFrom(dynamicProperty); if (dynamicProperty.Values != null) { serviceModel.Values = new List<object>(); if (serviceModel.IsDictionary) { foreach (var value in dynamicProperty.Values) { if (!string.IsNullOrEmpty(value)) { var dictionaryItem = dynamicProperty.DictionaryItems.FirstOrDefault(i => i.Name == value); if (dictionaryItem != null) { serviceModel.Values.Add(new { Value = dictionaryItem }); } } } } else { foreach (var value in dynamicProperty.Values) { if (!string.IsNullOrEmpty(value)) { serviceModel.Values.Add(new { Value = value }); } } } } if (dynamicProperty.DictionaryItems != null) { serviceModel.DictionaryItems = dynamicProperty.DictionaryItems.Select(x => x.ToServiceModel()).ToList(); } return serviceModel; }
public static DynamicProperty ToViewModel(this DataContracts.DynamicProperties.DynamicProperty property) { var retVal = new DynamicProperty(); retVal.InjectFrom(property); if (property.Values != null) { if (retVal.IsDictionary) { retVal.Values = property.Values.Cast <JObject>().Where(x => x["value"] != null).Select(x => x["value"]["name"].ToString()).ToList(); } else { retVal.Values = property.Values.Cast <JObject>().Where(x => x["value"] != null).Select(x => x["value"].ToString()).ToList(); } } if (property.DictionaryItems != null) { retVal.DictionaryItems = property.DictionaryItems.Select(x => x.ToViewModel()).ToList(); } return(retVal); }