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 MyAccount : WebBlockPage { protected override void OnInit(EventArgs e) { if (CustomerInfo == null) Response.Redirect("Login.aspx"); } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindShippingAddresses(); BindBillingAddresses(); BindOrders(); } } private void BindShippingAddresses() { rblShippingAddresses.Items.Clear(); DataTable dt = Database.Addresses_GetByCustomerID(CustomerInfo.CustomerID, false); foreach (DataRow dr in dt.Rows) { string AddressSnippet = (string)dr["Address"] + ", " + (string)dr["City"] + ", " + (string)dr["State"] + ", " + (string)dr["ZipCode"]; AddressSnippet = AddressSnippet.Substring(0, Math.Min(40, AddressSnippet.Length)) + "..."; rblShippingAddresses.Items.Add(new ListItem(AddressSnippet, dr["AddressID"].ToString())); } if (dt.Rows.Count == 0) { litNoShippingAddresses.Visible = true; btnDeleteShipping.Visible = false; } } private void BindBillingAddresses() { rblBillingAddresses.Items.Clear(); DataTable dt = Database.Addresses_GetByCustomerID(CustomerInfo.CustomerID, true); foreach (DataRow dr in dt.Rows) { string AddressSnippet = (string)dr["Address"] + ", " + (string)dr["City"] + ", " + (string)dr["State"] + ", " + (string)dr["ZipCode"]; AddressSnippet = AddressSnippet.Substring(0, Math.Min(40, AddressSnippet.Length)) + "..."; rblBillingAddresses.Items.Add(new ListItem(AddressSnippet, dr["AddressID"].ToString())); } if (dt.Rows.Count == 0) { litNoBillingAddresses.Visible = true; btnDeleteBilling.Visible = false; } } private void BindOrders() { DataTable dt = Database.Orders_GetByCustomerID(CustomerInfo.CustomerID); gvOrders.DataSource = dt; gvOrders.DataBind(); } protected void btnDeleteShipping_Click(object sender, EventArgs e) { Page.Validate("shipping"); if (Page.IsValid) Database.Addresses_Delete(Int32.Parse(rblShippingAddresses.SelectedValue)); BindShippingAddresses(); } protected void btnDeleteBilling_Click(object sender, EventArgs e) { Page.Validate("billing"); if (Page.IsValid) Database.Addresses_Delete(Int32.Parse(rblBillingAddresses.SelectedValue)); BindBillingAddresses(); } protected void btnChangePassword_Click(object sender, EventArgs e) { DataRow dr = Database.Customers_GetNonOneTimeByEmailAddressAndPassword(CustomerInfo.EmailAddress, txtCurrentPassword.Text); if (dr != null) { Database.Customers_UpdatePassword(CustomerInfo.CustomerID, txtNewPassword.Text); Page.ClientScript.RegisterStartupScript(typeof(string), "success", "alert('Your password has been changed.')", true); } else Page.ClientScript.RegisterStartupScript(typeof(string), "failure", "alert('Your entry for existing password does not match your customer record.')", true); } }