Skip to content

Commit 8ea20d9

Browse files
committed
change the order of some elements according to the specification
1 parent 264030c commit 8ea20d9

1 file changed

Lines changed: 42 additions & 38 deletions

File tree

OpenTrans.net/BaseWriter.cs

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,6 @@ internal void _writeParty(XmlTextWriter writer, Party party)
4747
_writeOptionalElementString(writer, "bmecat:NAME2", party.Name2);
4848
_writeOptionalElementString(writer, "bmecat:NAME3", party.Name3);
4949
_writeOptionalElementString(writer, "bmecat:DEPARTMENT", party.Department);
50-
_writeOptionalElementString(writer, "bmecat:STREET", party.Street);
51-
_writeOptionalElementString(writer, "bmecat:ZIP", party.Zip);
52-
_writeOptionalElementString(writer, "bmecat:BOXNO", party.BoxNo);
53-
_writeOptionalElementString(writer, "bmecat:ZIPBOX", party.ZipBox);
54-
_writeOptionalElementString(writer, "bmecat:CITY", party.City);
55-
_writeOptionalElementString(writer, "bmecat:STATE", party.State);
56-
_writeOptionalElementString(writer, "bmecat:COUNTRY", Countries.GetCountry(party.CountryCode));
57-
_writeOptionalElementString(writer, "bmecat:COUNTRY_CODED", party.CountryCode.EnumToString());
58-
_writeOptionalElementString(writer, "bmecat:VAT_ID", party.VATId);
59-
_writeOptionalElementString(writer, "bmecat:TAX_NUMBER", party.TaxNumber);
60-
_writeOptionalElementString(writer, "bmecat:EMAIL", party.EmailAddress);
61-
_writeOptionalElementString(writer, "bmecat:FAX", party.FaxNo);
62-
_writeOptionalElementString(writer, "bmecat:PHONE", party.PhoneNo);
63-
_writeOptionalElementString(writer, "bmecat:URL", party.Url);
6450

6551
if (party.ContactDetails != null)
6652
{
@@ -71,20 +57,38 @@ internal void _writeParty(XmlTextWriter writer, Party party)
7157
_writeOptionalElementString(writer, "bmecat:TITLE", party.ContactDetails.Title);
7258
_writeOptionalElementString(writer, "bmecat:ACADEMIC_TITLE", party.ContactDetails.AcademicTitle);
7359
_writeOptionalElementString(writer, "bmecat:CONTACT_DESCR", party.ContactDetails.Description);
60+
_writeOptionalElementString(writer, "bmecat:PHONE", party.ContactDetails.PhoneNo);
61+
_writeOptionalElementString(writer, "bmecat:FAX", party.ContactDetails.FaxNo);
7462
_writeOptionalElementString(writer, "bmecat:URL", party.ContactDetails.Url);
75-
_writeOptionalElementString(writer, "bmecat:AUTHENTIFICATION", party.ContactDetails.Authentification);
76-
writer.WriteStartElement("bmecat:EMAILS");
77-
foreach(string emailAddress in party.ContactDetails.EmailAddresses)
63+
if (party.ContactDetails.EmailAddresses.Any())
7864
{
79-
_writeOptionalElementString(writer, "bmecat:EMAIL", emailAddress);
65+
writer.WriteStartElement("bmecat:EMAILS");
66+
foreach (string emailAddress in party.ContactDetails.EmailAddresses)
67+
{
68+
_writeOptionalElementString(writer, "bmecat:EMAIL", emailAddress);
69+
}
70+
writer.WriteEndElement(); // !bmecat:EMAILS
8071
}
81-
writer.WriteEndElement(); // !bmecat:EMAILS
82-
_writeOptionalElementString(writer, "bmecat:FAX", party.ContactDetails.FaxNo);
83-
_writeOptionalElementString(writer, "bmecat:PHONE", party.ContactDetails.PhoneNo);
72+
73+
_writeOptionalElementString(writer, "bmecat:AUTHENTIFICATION", party.ContactDetails.Authentification);
8474

8575
writer.WriteEndElement(); // !CONTACT_DETAILS
8676
}
8777

78+
_writeOptionalElementString(writer, "bmecat:STREET", party.Street);
79+
_writeOptionalElementString(writer, "bmecat:ZIP", party.Zip);
80+
_writeOptionalElementString(writer, "bmecat:BOXNO", party.BoxNo);
81+
_writeOptionalElementString(writer, "bmecat:ZIPBOX", party.ZipBox);
82+
_writeOptionalElementString(writer, "bmecat:CITY", party.City);
83+
_writeOptionalElementString(writer, "bmecat:STATE", party.State);
84+
_writeOptionalElementString(writer, "bmecat:COUNTRY", Countries.GetCountry(party.CountryCode));
85+
_writeOptionalElementString(writer, "bmecat:COUNTRY_CODED", party.CountryCode.EnumToString());
86+
_writeOptionalElementString(writer, "bmecat:VAT_ID", party.VATId);
87+
_writeOptionalElementString(writer, "bmecat:TAX_NUMBER", party.TaxNumber);
88+
_writeOptionalElementString(writer, "bmecat:PHONE", party.PhoneNo);
89+
_writeOptionalElementString(writer, "bmecat:FAX", party.FaxNo);
90+
_writeOptionalElementString(writer, "bmecat:EMAIL", party.EmailAddress);
91+
_writeOptionalElementString(writer, "bmecat:URL", party.Url);
8892
writer.WriteEndElement(); // !ADDRESS
8993

9094
writer.WriteEndElement(); // !PARTY
@@ -128,43 +132,43 @@ internal void _writeOrderItem(XmlTextWriter writer, OrderItem item, string start
128132
{
129133
_writeProductId(writer, item.ProductId);
130134
}
135+
if (item.ProductFeatures.Any())
136+
{
137+
writer.WriteStartElement("PRODUCT_FEATURES");
138+
foreach (var features in item.ProductFeatures)
139+
{
140+
writer.WriteStartElement("FEATURE ");
141+
_writeOptionalElementString(writer, "bmecat:FNAME", features.Name);
142+
_writeOptionalElementString(writer, "bmecat:FVALUE", features.Value);
143+
_writeOptionalElementString(writer, "bmecat:FUNIT", features.Unit.EnumToString());
144+
writer.WriteEndElement(); // !FEATURE
145+
}
146+
writer.WriteEndElement(); // !PRODUCT_FEATURES
147+
}
131148

132149
if (item.Quantity.HasValue)
133150
{
134151
_writeAmount(writer, "QUANTITY", item.Quantity.Value);
135152
}
136153
_writeOptionalElementString(writer, "bmecat:ORDER_UNIT", item.OrderUnit.EnumToString());
137-
if (item.LineAmount.HasValue)
138-
{
139-
_writeAmount(writer, "PRICE_LINE_AMOUNT", item.LineAmount.Value);
140-
}
141154
if (item.ProductPriceFix != null)
142155
{
143156
writer.WriteStartElement("PRODUCT_PRICE_FIX");
144157
_writeAmount(writer, "bmecat:PRICE_AMOUNT", item.ProductPriceFix.PriceAmount);
145158
_writeAmount(writer, "bmecat:PRICE_QUANTITY", item.ProductPriceFix.PriceQuantity);
146159
writer.WriteEndElement(); // !PRODUCT_PRICE_FIX
147160
}
161+
if (item.LineAmount.HasValue)
162+
{
163+
_writeAmount(writer, "PRICE_LINE_AMOUNT", item.LineAmount.Value);
164+
}
148165
foreach (string remark in item.Remarks)
149166
{
150167
writer.WriteStartElement("REMARKS");
151168
writer.WriteAttributeString("lang", "deu");
152169
writer.WriteValue(remark);
153170
writer.WriteEndElement();
154171
}
155-
if (item.ProductFeatures.Any())
156-
{
157-
writer.WriteStartElement("PRODUCT_FEATURES");
158-
foreach (var features in item.ProductFeatures)
159-
{
160-
writer.WriteStartElement("FEATURE ");
161-
_writeOptionalElementString(writer, "bmecat:FNAME", features.Name);
162-
_writeOptionalElementString(writer, "bmecat:FVALUE", features.Value);
163-
_writeOptionalElementString(writer, "bmecat:FUNIT", features.Unit.EnumToString());
164-
writer.WriteEndElement(); // !FEATURE
165-
}
166-
writer.WriteEndElement(); // !PRODUCT_FEATURES
167-
}
168172
writer.WriteEndElement();
169173
} // !_writeOrderItem()
170174

0 commit comments

Comments
 (0)