From 1345d0b0e663b1428a03675c741d6bb84eafa128 Mon Sep 17 00:00:00 2001 From: JoeSchimo Date: Mon, 19 Oct 2020 14:58:35 -0400 Subject: [PATCH] Correct order propery to correctly increment on recusion --- XmlSchemaClassGenerator/ModelBuilder.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/XmlSchemaClassGenerator/ModelBuilder.cs b/XmlSchemaClassGenerator/ModelBuilder.cs index 835a860e..5684db66 100644 --- a/XmlSchemaClassGenerator/ModelBuilder.cs +++ b/XmlSchemaClassGenerator/ModelBuilder.cs @@ -665,10 +665,9 @@ private IEnumerable CreatePropertiesForAttributes(Uri source, Typ return properties; } - private IEnumerable CreatePropertiesForElements(Uri source, TypeModel typeModel, XmlSchemaParticle particle, IEnumerable items) + private IEnumerable CreatePropertiesForElements(Uri source, TypeModel typeModel, XmlSchemaParticle particle, IEnumerable items, int order = 0) { var properties = new List(); - var order = 0; foreach (var item in items) { @@ -755,7 +754,11 @@ private IEnumerable CreatePropertiesForElements(Uri source, TypeM } var groupItems = GetElements(groupRef.Particle); - var groupProperties = CreatePropertiesForElements(source, typeModel, item.XmlParticle, groupItems); + var groupProperties = CreatePropertiesForElements(source, typeModel, item.XmlParticle, groupItems, order).ToList(); + if (_configuration.EmitOrder) + { + order += groupProperties.Count; + } properties.AddRange(groupProperties); } }