@@ -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