using System; 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; public partial class Admin_OrderWizard_Reauthorize : WebBlocks.AdministrativePage { private int OrderID { get { return (ViewState["OrderID"] == null ? 0 : (int)ViewState["OrderID"]); } set { ViewState["OrderID"] = value; } } public int OrderAddressID { get { return (ViewState["OrderAddressID"] == null ? 0 : (int)ViewState["OrderAddressID"]); } set { ViewState["OrderAddressID"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { OrderID = Int32.Parse(Request["OrderID"]); BindReauthorize(); } } private void BindReauthorize() { DataRow drOrder = Database.Orders_GetByOrderID(OrderID); DataRow drAddress = Database.OrderAddresses_GetByOrderAddressID((int)drOrder["BillingAddressID"]); txtBillFirstName.Text = Clean(drAddress["FirstName"]); txtBillLastName.Text = Clean(drAddress["LastName"]); txtBillAddress.Text = Clean(drAddress["Address"]); txtBillCity.Text = Clean(drAddress["City"]); txtBillState.Text = Clean(drAddress["State"]); txtBillPhone.Text = Clean(drAddress["Phone"]); txtBillZipCode.Text = Clean(drAddress["ZipCode"]); txtBillCountry.Text = Clean(drAddress["Country"]); OrderAddressID = (int)drAddress["OrderAddressID"]; } private string Clean(object o) { if (o == null || o is DBNull) return ""; else return o.ToString(); } protected void wizDelay_FinishButtonClick(object sender, WizardNavigationEventArgs e) { Response.Redirect("EditOrder.aspx?OrderID=" + OrderID.ToString()); } protected void wizDelay_NextButtonClick(object sender, WizardNavigationEventArgs e) { if (e.CurrentStepIndex == 0) { Page.Validate("valCheckout"); if (!Page.IsValid) { e.Cancel = true; } litReauthorize.Text = ""; } } protected void btnReauthorize_Click(object sender, EventArgs e) { Database.OrderAddresses_Update(OrderAddressID, txtBillFirstName.Text, txtBillLastName.Text, txtBillAddress.Text, txtBillCity.Text, txtBillState.Text, txtBillCountry.Text, txtBillZipCode.Text, txtBillPhone.Text, ""); Gateways.GatewayBase gateway = Gateways.GatewayBase.GetGateway(Configuration.Get("Gateways.PaymentGateway")); if (!gateway.AuthorizeFunds(OrderID, txtCardNumber.Text, ddlExpMonth.SelectedValue + "/" + ddlExpYear.SelectedValue, txtCSC.Text)) { DataRow dr = Database.Orders_GetByOrderID(OrderID); litReauthorize.Text = "
Reauthorization failed for the following reason:
"; litReauthorize.Text += (dr["LastResponseText"] == DBNull.Value ? "No Reason" : (string)dr["LastResponseText"]); litReauthorize.Text += "

To make a change, click the \"Previous\" button below."; litReauthorize.Text += ""; } else litReauthorize.Text = "Reauthorization successful."; } }