using System; using System.Text; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net.Mail; using System.Collections.Generic; using System.Xml; using System.Net; using System.IO; public partial class Admin_OrderWizard_VoidShipment : WebBlocks.AdministrativePage { string ImagePath { get { return (Session["ImagePath"] == null ? "" : Session["ImagePath"].ToString()); } set { Session["ImagePath"] = value; } } private int OrderID { get { return (ViewState["OrderID"] == null ? 0 : (int)ViewState["OrderID"]); } set { ViewState["OrderID"] = value; } } private string ShipmentDigest { get { return (ViewState["ShipmentDigest"] == null ? "" : (string)ViewState["ShipmentDigest"]); } set { ViewState["ShipmentDigest"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ShipmentDigest = null; OrderID = Int32.Parse(Request["OrderID"]); DataRow drOrder = Database.Orders_GetOrderAndBillingAddress(OrderID); if(!(bool)drOrder["isShipped"]) { Response.Redirect("EditOrder.aspx?OrderID=" + OrderID.ToString()); } } } protected void wizShip_NextButtonClick(object sender, WizardNavigationEventArgs e) { litVoidShipmentError.Text = string.Empty; DataRow drOrder = Database.Orders_GetOrderAndBillingAddress(OrderID); if (e.CurrentStepIndex == 0) { // void shipment! UPS ship = new UPS(); XmlDocument xmlDoc = ship.VoidShipment(drOrder["TrackingNumber"].ToString()); string ResponseCode = xmlDoc.SelectSingleNode("VoidShipmentResponse/Response/ResponseStatusCode").InnerText; if (ResponseCode == "0") { string ErrorSeverity = xmlDoc.SelectSingleNode("VoidShipmentResponse/Response/Error/ErrorSeverity").InnerText; string ErrorCode = xmlDoc.SelectSingleNode("VoidShipmentResponse/Response/Error/ErrorCode").InnerText; string ErrorDescription = xmlDoc.SelectSingleNode("VoidShipmentResponse/Response/Error/ErrorDescription").InnerText; litVoidShipmentError.Text = "There was an error with the label request
"; litVoidShipmentError.Text += "ErrorCode: " + ErrorCode + "
"; litVoidShipmentError.Text += "ErrorDescription: " + ErrorDescription + "
"; e.Cancel = true; } else { // void successful, update database if ((bool)drOrder["IsCaptured"]) Database.Orders_SetOrderStatusID(OrderID, 14); // captured else Database.Orders_SetOrderStatusID(OrderID, 1); // received Database.Orders_SetTrackingNumber(OrderID, ""); Database.Orders_VoidShipment(OrderID); } //xmlDoc.Save("C:\\VoidShipmentResponse.xml"); } } protected void btnFinish_Click(object sender, EventArgs e) { Response.Redirect("EditOrder.aspx?OrderID=" + OrderID.ToString()); } }