Сначала нужно проверить, не поместил ли уже посетитель что-нибудь в свою корзину:
If Len(Session("CustomerlD")) = 0 Then
Если еще нет, то необходимо создать для данного посетителя новую запись:
DBInsert.CommandText = "Insert Into Customers " _
& "(Status, DateEntered) values ('Shopping', '" _
& Now() & "')"
DBInsert.ExecuteNonQuery()
После этого надо извлечь ID нового посетителя:
DBCommand = New OleDbDataAdapter _
("Select Max(CustomerlD) as MaxID " _
& "From Customers", DBConn)
DBCommand.Till(DSPageData, _
"CustomerlD")
и поместить его в переменную Session таким образом, чтобы он был доступен с любой другой страницы:
Session("CustomerlD") = DSPageData.Tables("CustomerlD"). _
Rows(O).Item("MaxID")
Теперь необходимо извлечь всю информацию о товаре, заказанном посетителем:
DBCommand = New OleDbDataAdapter _
("Select ProductName, ShippingCharge, " _
& "Price From Products Where " _
& "ProductID = " & Request.QueryString("ProductID") _
, DBConn)
DBCommand.Fill(DSPageData, _
"ProductData")
Количество заказанного товара помещается в локальную переменную
CurrentQuantity = txtQuantity.Text
и используется для подсчета общей стоимости товара:
CurrentPrice = CurrentQuantity * _
DSPageData.Tables("ProductData"). _
Rows(O) .ItemC'Price")
а также стоимости его доставки:
CurrentShipping = CurrentQuantity * _
DSPageData.Tables("ProductData"). _
Rows(0).Item("ShippingCharge")
Далее название товара следует поместить в локальную переменную:
CurrentProductName = DSPageData.Tables("ProductData"). _
Rows(O).Item("ProductName")
Это значение применяется при необходимости добавить в таблицу shopping-Cartltems (Содержимое корзины) новую запись:
DBInsert.CommandText = "Insert Into ShoppingCartltems " _
& "(CustomerlD, ProductName, Quantity, Price, Shipping) " _
& "values (" _
& Session("CustomerlD") & ", " _
& "'" & CurrentProductName & "', " _
& CurrentQuantity & ", " _
& CurrentPrice & ", " _
& CurrentShipping & ")"
DBInsert.ExecuteNonQuery()
После этого посетителя нужно направить на страницу Корзина покупателя:
Response.Redirect("./shopping_cart.aspx")
Страница Корзина покупателя
Код, относящийся к странице Корзина покупателя, служит для представления всех товаров, заказанных посетителем. Здесь же посетителю предоставляется возможность удалять товары из корзины.
В теле страницы определяется элемент управления Label, который отображает ее заголовок:
<asp:Label
id="lblTitle"
BorderWidth="7px"
BorderStyle=7
Width="90%"
Font-Size="25pt"
Font-Name="Arial"
Text="<CENTER>Kopзинa покупателя</СЕМТЕК>"
runat="server"
/>
|