コード例 #1
0
ファイル: eParcelBuilder.cs プロジェクト: terry2012/DSV
        public string GetMessage(bool includeComments)
        {
            var msg = new StringBuilder();

            msg.AppendLine("<?xml version=\"1.0\" ?>");
            msg.AppendLine("<eparcel>");
            // if we want to include the comments in the xml
            if (includeComments)
            {
                msg.AppendLine("<!--********************************-->");
                msg.AppendLine("<!-- Prefered language for the      -->");
                msg.AppendLine("<!-- response (FR/EN)  (optional)   -->");
                msg.AppendLine("<!--********************************-->");
            }
            // set the language
            if (m_language == CanadaPostLanguageEnum.French)
            {
                msg.AppendLine("<language>fr</language>");
            }
            else
            {
                msg.AppendLine("<language>en</language>");
            }
            // opening TAG for rates request info
            msg.AppendLine("<ratesAndServicesRequest>");
            // adding information related to the profile of the merchant
            msg.Append(m_profile.ToXml(includeComments));
            // if we want to include the comments in the xml
            if (includeComments == true)
            {
                msg.AppendLine("<!--**********************************-->");
                msg.AppendLine("<!-- List of items in the shopping    -->");
                msg.AppendLine("<!-- cart                             -->");
                msg.AppendLine("<!-- Each item is defined by :        -->");
                msg.AppendLine("<!--   - quantity    (mandatory)      -->");
                msg.AppendLine("<!--   - size        (mandatory)      -->");
                msg.AppendLine("<!--   - weight      (mandatory)      -->");
                msg.AppendLine("<!--   - description (mandatory)      -->");
                msg.AppendLine("<!--   - ready to ship (optional)     -->");
                msg.AppendLine("<!--**********************************-->");
            }
            msg.AppendLine("<lineItems>");
            foreach (Item item in m_items)
            {
                // build the item information
                msg.AppendLine(item.ToXml(includeComments));
            }
            msg.AppendLine("</lineItems>");

            // build the destination information
            msg.Append(m_destination.ToXml(includeComments));
            // closing TAG for rates request info
            msg.AppendLine("</ratesAndServicesRequest>");
            msg.AppendLine("</eparcel>");

            return(msg.ToString());
        }