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
}
}