using System; using System.Configuration; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace AeroNet { /// /// Summary description for CheckOut. /// public class CheckOut : Common { protected System.Web.UI.WebControls.Label Header; protected System.Web.UI.WebControls.Label Message; protected System.Web.UI.WebControls.Label TotalLbl; protected System.Web.UI.WebControls.DataGrid MyDataGrid; protected System.Web.UI.WebControls.Button SubmitBtn; public int orderID; //******************************************************* // // Обработчик события SubmitBtn_Click используется для заказа // товаров в пределах текущей покупательской корзины. Затем он // отображает на экране ID заказа и его состояние // (скрывая кнопку "SubmitBtn", чтобы не дать пользователю // нажать на нее дважды). // //******************************************************* public void SubmitBtn_Click(object sender, System.EventArgs e) { ShoppingCartDB cart = new ShoppingCartDB(); // Вычисление ID покупательской корзины конечного пользователя String cartId = cart.GetShoppingCartId(); // Вычисление клиентского ID конечного пользователя String customerId = User.Identity.Name; // Если корзина пустая - переход на страницу корзины if (cart.GetItemCount(cartId) ==0) { Response.Redirect("ShoppingCart.aspx"); } if ((cartId != null) && (customerId != null)) { // Размещение заказа OrdersDB ordersDatabase = new OrdersDB(); orderID = ordersDatabase.PlaceOrder(customerId, cartId); // Размещение статуса заказа ordersDatabase.PlaceOrderStatus(orderID); // Обновление полей с целью отразить факт размещения заказа Header.Text = "Заказ оформлен!"; Message.Text = "Номер вашего заказа: " + orderID; SubmitBtn.Visible = false; Response.Redirect("PostAddressAdd.aspx?orderID="+orderID.ToString()); } } //******************************************************* // // Событие Page_Load на этой странице используется для загрузки // элемента ShoppingCart DataGrid при *первом* вызове // страницы. // При повторных обращениях к странице // Datagrid *не перезагружается*. Вместо этого восстановление элемента // управления на сервере возлагается на встроенные средства // управления отображением. // //******************************************************* private void Page_Load(object sender, System.EventArgs e) { //Загрузить верхнее меню TopMenu(); if (Page.IsPostBack == false) { // Вычисление ID покупательской корзины конечного пользователя ShoppingCartDB cart = new ShoppingCartDB(); String cartId = cart.GetShoppingCartId(); // Заполнение datagrid данными покупательской корзины MyDataGrid.DataSource = cart.GetItems(cartId); MyDataGrid.DataBind(); // Обновление поля суммарной стоимости TotalLbl.Text = String.Format( "{0:c}", cart.GetTotal(cartId)); } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.SubmitBtn.Click += new System.EventHandler(this.SubmitBtn_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion } }