private static MasterDataField ParseField(XElement element) { var field = new MasterDataField { Value = element.HasElements ? element.Value : null, Name = element.Name.LocalName, Namespace = element.Name.NamespaceName }; field.Children.AddRange(element.Elements().Select(ParseField)); return(field); }
private static IEnumerable <MasterDataFieldDto> CreateFieldDto(MasterDataField field, short fieldId, MasterDataAttributeDto attribute, short?parentId) { var list = new List <MasterDataFieldDto> { MasterDataFieldDto.Create(field, attribute, fieldId, parentId) }; foreach (var children in field.Children) { list.AddRange(CreateFieldDto(children, (short)(fieldId + list.Count), attribute, fieldId)); } return(list); }
public static MasterDataFieldDto Create(MasterDataField field, MasterDataAttributeDto attribute, int id, int?parentId) { return(new MasterDataFieldDto { Id = id, InternalParentId = parentId, MasterdataId = attribute.ParentId, MasterdataType = attribute.ParentType, ParentId = attribute.Id, Name = field.Name, Namespace = field.Namespace, Value = field.Value }); }
private static void ParseField(IEnumerable <XElement> elements, IList <MasterDataField> output, MasterDataAttribute attribute) { if (elements == null || !elements.Any()) { return; } foreach (var element in elements) { var field = new MasterDataField { Name = element.Name.LocalName, Namespace = element.Name.NamespaceName, ParentId = attribute.Id, MasterdataId = attribute.ParentId, MasterdataType = attribute.ParentType, Value = element.HasElements ? null : element.Value }; output.Add(field); ParseField(element.Elements(), field.Children, attribute); } }