コード例 #1
0
        private static void ReadLines(int LineCount, string JsonText, ref ProxyGetTaxResult svcResult)
        {
            string[] separator = new string[] { LineTaxLineNoTag };
            string[] chunks    = JsonText.Split(separator, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < LineCount; i++)
            {
                string lineNo = "";
                int    index  = 3; // index to skip ":"
                do
                {
                    lineNo = lineNo + chunks[i + 1][index++]; // read line number
                } while (chunks[i + 1][index] != '"');
                svcResult.InvoiceInfoMessages[i].LineNo = Convert.ToInt32(lineNo);

                separator = new string[] { LineMessageCodeTag };
                string chunk       = chunks[i + 1].Split(separator, StringSplitOptions.RemoveEmptyEntries)[1];
                string messageCode = ""; // index to skip ":
                index = 2;
                do
                {
                    messageCode = messageCode + chunk[index++]; // read the message code number
                } while (chunk[index] != '}');
                svcResult.InvoiceInfoMessages[i].Message = messageCode;
            }
        }
コード例 #2
0
        public static void ReadInvoiceMessages(string JsonText, ref ProxyGetTaxResult svcResult)
        {
            int LineCount = GetLineCount(JsonText);

            InitializeInvoiceMessages(LineCount, ref svcResult);
            ReadLines(LineCount, JsonText, ref svcResult);
            ReadMessages(LineCount, JsonText, ref svcResult);
        }
コード例 #3
0
 private static void InitializeInvoiceMessages(int LineCount, ref ProxyGetTaxResult svcResult)
 {
     // initialize the variable as per the line count
     svcResult.InvoiceInfoMessages = new Proxies.InvoiceMessageInfo[LineCount];
     for (int i = 0; i < LineCount; i++)
     {
         svcResult.InvoiceInfoMessages[i] = new Proxies.InvoiceMessageInfo();
     }
 }
コード例 #4
0
 private static void ReadMessages(int LineCount, string JsonText, ref ProxyGetTaxResult svcResult)
 {
     for (int i = 0; i < LineCount; i++)
     {
         string message = "";
         // index for the tag plus its length plus 2 for ": plus code length plus 2 for ," plus message tag length plus 3 for ":"
         int index = JsonText.IndexOf(MasterMessageCodeTag + "\":" + svcResult.InvoiceInfoMessages[i].Message) + MasterMessageCodeTag.Length + 2 + svcResult.InvoiceInfoMessages[i].Message.Length + 2 + MasterMessageTag.Length + 3;
         do
         {
             message = message + JsonText[index++];          // read the message
         } while (JsonText[index] != '"');
         svcResult.InvoiceInfoMessages[i].Message = message; // replace the message code by actual message
     }
 }