Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.60 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Xml;
  7.  
  8. namespace ConsoleApp3
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. const string varTest = "public int LINE = 1;\npublic bool ADDITIONAL_REFERENCED_DOCUMENT = true;\npublic string " +
  15. "ORDER_NAME = Test,\n CURRENCY_CODE = USD,\n SOURCE_REFER = SourceRef,\n SOURCE_NAME = Source Name;\npublic decimal " +
  16. "BEFORE_DISCOUNT = 1.0m,\n QUANTITY = 2.0m,\n PRICE_PIECE = 3.0m,\n VAT = 4.0m,\n PRICE_BASE = 5.0m;\n";
  17.  
  18. ObjectTest obj = new ObjectTest();
  19. XmlTextWriter test = new XmlTextWriter("test.xml", null);
  20. test.WriteStartDocument();
  21. test.WriteRaw(varTest);
  22. test.Formatting = Formatting.Indented;
  23. obj.WriteLine(test);
  24. test.WriteEndDocument();
  25. test.Flush();
  26. test.Close();
  27.  
  28. }
  29.  
  30. public class ObjectTest
  31. {
  32. public int LINE = 1;
  33. public bool ADDITIONAL_REFERENCED_DOCUMENT = true;
  34. public string ORDER_NAME = "Test", CURRENCY_CODE = "USD", SOURCE_REFER = "SourceRef", SOURCE_NAME = "Source Name";
  35. public decimal BEFORE_DISCOUNT = 1.0m, QUANTITY = 2.0m, PRICE_PIECE = 3.0m, VAT = 4.0m, PRICE_BASE = 5.0m;
  36. public void WriteLine(XmlTextWriter writer)
  37. {
  38. writer.WriteStartElement("ram:IncludedSupplyChainTradeLineItem");
  39. writer.WriteStartElement("ram:AssociatedDocumentLineDocument");
  40. writer.WriteElementString("ram:LineID", LINE.ToString());
  41. writer.WriteEndElement();
  42.  
  43. writer.WriteStartElement("ram:SpecifiedSupplyChainTradeAgreement");
  44. if (ADDITIONAL_REFERENCED_DOCUMENT)
  45. {
  46. writer.WriteStartElement("ram:AdditionalReferencedDocument");
  47. writer.WriteElementString("ram:ID", ORDER_NAME);
  48. writer.WriteElementString("ram:ReferenceTypeCode", "MG");
  49. writer.WriteEndElement();
  50. }
  51.  
  52. writer.WriteStartElement("ram:GrossPriceProductTradePrice");
  53. //writer.WriteStartElement();
  54. writer.WriteStartElement("ram:ChargeAmount");
  55. writer.WriteAttributeString("currencyID", CURRENCY_CODE);
  56. writer.WriteValue(BEFORE_DISCOUNT.ToString());
  57. writer.WriteEndElement();
  58. writer.WriteStartElement("ram:BasisQuantity");
  59. writer.WriteAttributeString("unitCode", "C62");
  60. writer.WriteValue(QUANTITY);
  61. writer.WriteEndElement();
  62. writer.WriteEndElement();
  63.  
  64. writer.WriteStartElement("ram:NetPriceProductTradePrice");
  65. writer.WriteStartElement("ram:ChargeAmount");
  66. writer.WriteAttributeString("currencyID", CURRENCY_CODE);
  67. writer.WriteValue(PRICE_PIECE.ToString());
  68. writer.WriteEndElement();
  69. writer.WriteStartElement("ram:BasisQuantity");
  70. writer.WriteAttributeString("unitCode", "C62");
  71. writer.WriteValue(QUANTITY);
  72. writer.WriteEndElement();
  73. writer.WriteEndElement();
  74.  
  75. writer.WriteEndElement(); //ram:SpecifiedSupplyChainTradeAgreement
  76.  
  77. writer.WriteStartElement("ram:SpecifiedSupplyChainTradeDelivery");
  78. writer.WriteStartElement("ram:BilledQuantity");
  79. writer.WriteAttributeString("unitCode", "C62");
  80. writer.WriteValue(QUANTITY);
  81. writer.WriteEndElement();
  82. writer.WriteEndElement(); //ram:SpecifiedSupplyChainTradeDelivery
  83.  
  84. writer.WriteStartElement("ram:SpecifiedSupplyChainTradeSettlement");
  85. writer.WriteStartElement("ram:ApplicableTradeTax");
  86. writer.WriteElementString("ram:TypeCode","VAT");
  87. writer.WriteElementString("ram:CategoryCode", "VAT");
  88. writer.WriteElementString("ram:ApplicablePercent", VAT.ToString());
  89. writer.WriteEndElement();
  90.  
  91. writer.WriteStartElement("ram:SpecifiedTradeSettlementMonetarySummation");
  92. writer.WriteStartElement("ram:LineTotalAmount");
  93. writer.WriteAttributeString("currencyID", CURRENCY_CODE);
  94. writer.WriteValue(PRICE_BASE.ToString());
  95. writer.WriteEndElement();
  96. writer.WriteEndElement();
  97.  
  98. writer.WriteEndElement();//ram:SpecifiedSupplyChainTradeSettlement
  99.  
  100. writer.WriteStartElement("ram:SpecifiedTradeProduct");
  101. if (!String.IsNullOrEmpty(SOURCE_REFER))
  102. {
  103. writer.WriteElementString("ram:SellerAssignedID", SOURCE_REFER);
  104. writer.WriteElementString("ram:BuyerAssignedID", SOURCE_REFER);
  105.  
  106. }
  107. if (!String.IsNullOrEmpty(SOURCE_NAME))
  108. {
  109. writer.WriteElementString("ram:Name", SOURCE_NAME);
  110. writer.WriteElementString("ram:Description", SOURCE_NAME);
  111.  
  112. }
  113. writer.WriteEndElement(); //ram:SpecifiedTradeProduct
  114. writer.WriteEndElement(); //ram:IncludedSupplyChainTradeLineItem
  115. }
  116. }
  117.  
  118. }
  119. }
  120.  
  121.  
  122. /*TEST DOCUMENT OUTPUT
  123.  
  124. <?xml version="1.0"?>public int LINE = 1;
  125. public bool ADDITIONAL_REFERENCED_DOCUMENT = true;
  126. public string ORDER_NAME = Test,
  127. CURRENCY_CODE = USD,
  128. SOURCE_REFER = SourceRef,
  129. SOURCE_NAME = Source Name;
  130. public decimal BEFORE_DISCOUNT = 1.0m,
  131. QUANTITY = 2.0m,
  132. PRICE_PIECE = 3.0m,
  133. VAT = 4.0m,
  134. PRICE_BASE = 5.0m;
  135.  
  136. <ram:IncludedSupplyChainTradeLineItem>
  137. <ram:AssociatedDocumentLineDocument>
  138. <ram:LineID>1</ram:LineID>
  139. </ram:AssociatedDocumentLineDocument>
  140. <ram:SpecifiedSupplyChainTradeAgreement>
  141. <ram:AdditionalReferencedDocument>
  142. <ram:ID>Test</ram:ID>
  143. <ram:ReferenceTypeCode>MG</ram:ReferenceTypeCode>
  144. </ram:AdditionalReferencedDocument>
  145. <ram:GrossPriceProductTradePrice>
  146. <ram:ChargeAmount currencyID="USD">1.0</ram:ChargeAmount>
  147. <ram:BasisQuantity unitCode="C62">2.0</ram:BasisQuantity>
  148. </ram:GrossPriceProductTradePrice>
  149. <ram:NetPriceProductTradePrice>
  150. <ram:ChargeAmount currencyID="USD">3.0</ram:ChargeAmount>
  151. <ram:BasisQuantity unitCode="C62">2.0</ram:BasisQuantity>
  152. </ram:NetPriceProductTradePrice>
  153. </ram:SpecifiedSupplyChainTradeAgreement>
  154. <ram:SpecifiedSupplyChainTradeDelivery>
  155. <ram:BilledQuantity unitCode="C62">2.0</ram:BilledQuantity>
  156. </ram:SpecifiedSupplyChainTradeDelivery>
  157. <ram:SpecifiedSupplyChainTradeSettlement>
  158. <ram:ApplicableTradeTax>
  159. <ram:TypeCode>VAT</ram:TypeCode>
  160. <ram:CategoryCode>VAT</ram:CategoryCode>
  161. <ram:ApplicablePercent>4.0</ram:ApplicablePercent>
  162. </ram:ApplicableTradeTax>
  163. <ram:SpecifiedTradeSettlementMonetarySummation>
  164. <ram:LineTotalAmount currencyID="USD">5.0</ram:LineTotalAmount>
  165. </ram:SpecifiedTradeSettlementMonetarySummation>
  166. </ram:SpecifiedSupplyChainTradeSettlement>
  167. <ram:SpecifiedTradeProduct>
  168. <ram:SellerAssignedID>SourceRef</ram:SellerAssignedID>
  169. <ram:BuyerAssignedID>SourceRef</ram:BuyerAssignedID>
  170. <ram:Name>Source Name</ram:Name>
  171. <ram:Description>Source Name</ram:Description>
  172. </ram:SpecifiedTradeProduct>
  173. </ram:IncludedSupplyChainTradeLineItem> */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement