//------------------------------------------------------------------------------
// The contents of this file are subject to the nopCommerce Public License Version 1.0 ("License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at http://www.nopCommerce.com/License.aspx.
//
// Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
// See the License for the specific language governing rights and limitations under the License.
//
// The Original Code is nopCommerce.
// The Initial Developer of the Original Code is NopSolutions.
// All Rights Reserved.
//
// Contributor(s): _______.
//------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web.Services.Protocols;
using System.Xml;
namespace NopSolutions.NopCommerce.Shipping.Methods.CanadaPost{
public class Profile
{
#region Utilities
/// <summary>
/// Build an XML string with the destination informations.
/// </summary>
/// <param name="includeComments">if set to <c>true</c> [include comments].</param>
/// <returns></returns>
internal string ToXml(bool includeComments)
{
var xmlString = new StringBuilder();
// if we want to include the comments in the xml
if (includeComments)
{
xmlString.AppendLine("<!--**********************************-->");
xmlString.AppendLine("<!-- Merchant Identification assigned -->");
xmlString.AppendLine("<!-- by Canada Post -->");
xmlString.AppendLine("<!-- -->");
xmlString.AppendLine("<!-- Note: Use 'CPC_DEMO_HTML' or ask -->");
xmlString.AppendLine("<!-- our Help Desk to change your -->");
xmlString.AppendLine("<!-- profile if you want HTML to be -->");
xmlString.AppendLine("<!-- returned to you -->");
xmlString.AppendLine("<!--**********************************-->");
}
// set the merchant Id
xmlString.AppendLine("<merchantCPCID>" + this.MerchantId + "</merchantCPCID>");
// if a postal code was specified
if (this.PostalCode != null)
{
// if we want to include the comments in the xml
if (includeComments)
{
xmlString.AppendLine("<!--*********************************-->");
xmlString.AppendLine("<!--Origin Postal Code -->");
xmlString.AppendLine("<!--This parameter is optional -->");
xmlString.AppendLine("<!--*********************************-->");
}
// set the postal code
xmlString.AppendLine("<fromPostalCode>" + this.PostalCode + "</fromPostalCode>");
}
if (this.TurnAroundTime != null)
{
// if we want to include the comments in the xml
if (includeComments)
{
xmlString.AppendLine("<!--**********************************-->");
xmlString.AppendLine("<!-- Turn Around Time (hours) -->");
xmlString.AppendLine("<!-- This parameter is optional -->");
xmlString.AppendLine("<!--**********************************-->");
}
// set the turn around time
xmlString.AppendLine("<turnAroundTime> " + this.TurnAroundTime.ToString() + " </turnAroundTime>");
}
//msg.AppendLine("<!--**********************************-->");
//msg.AppendLine("<!-- Total amount in $ of the items -->");
//msg.AppendLine("<!-- for insurance calculation -->");
//msg.AppendLine("<!-- This parameter is optional -->");
//msg.AppendLine("<!--**********************************-->");
//msg.AppendLine("<itemsPrice>0.00</itemsPrice>");
return xmlString.ToString();
}
#endregion
#region Properties
/// <summary>
/// Gets the Merchant Identification assigned by Canada Post.
/// Note: Use 'CPC_DEMO_HTML' or ask the Help Desk to change the profile if want HTML to be returned
/// </summary>
/// <value>The merchant id.</value>
public string MerchantId { get; set; }
/// <summary>
/// Gets the Origin's postal code (optional).
/// </summary>
/// <value>The postal code.</value>
public string PostalCode
{
get
{
return null;
}
}
/// <summary>
/// Gets the turn around time (in Hours) (optional).
/// </summary>
/// <value>The turn around time.</value>
public int? TurnAroundTime
{
get
{
return null;
}
}
#endregion
}
}
|