Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.63 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("C:\\Users\\Globalnet\\Desktop\\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