Mr Initial Man
01-14-2008, 03:24 PM
I'm having a serious problem with Session variables. Here is part of the VB coding for the starting file:
Partial Class _Default
Inherits System.Web.UI.Page
Dim Order_Info(5) As Product
Dim Iteration As Integer
Dim Province As String
Dim SubTotal As Decimal
Dim TaxRate As Decimal
Dim Tax As Decimal
Dim GrandTotal As Decimal
Protected Function Product_Info(ByVal Number) As Product
Dim Info As New Product
Dim Name As New Names
Dim ProdID As New ProdIDs
Dim Price As New Prices
Dim ProdNum As New ProdNums
Info.ImageFile = "./Images/" + ProdID.ProdID(Number) + ".jpg"
Info.ImageID = ProdID.ProdID(Number) + "_IMG"
Info.Name = Name.Name(Number)
Info.ProdID = ProdID.ProdID(Number)
Info.ProdNum = ProdNum.ProdNum(Number)
Info.Price = Price.Price(Number)
Return Info
End Function
Protected Function UpdateOrder(ByVal New_Product As Product, ByVal Quantity As Integer) As Product
Dim Prod_Info As New Product
Prod_Info = New_Product
Prod_Info.Quantity = Quantity
Prod_Info.ProdTotal = Prod_Info.Price * Quantity
Return Prod_Info
End Function
Protected Function TotalPrices() As Decimal
Dim TotalPrice As Decimal = 0
For Iteration = 0 To 5 Step 1
TotalPrice = TotalPrice + Order_Info(Iteration).ProdTotal
Next
Return TotalPrice
End Function
Protected Function ProvinceTax(ByVal Province As String) As Decimal
Dim Prov_Tax_Amount As New Tax
Dim Taxes As Decimal
Select Case Province
Case "AB"
Taxes = Prov_Tax_Amount.AB
Case "BC"
Taxes = Prov_Tax_Amount.BC
Case "MB"
Taxes = Prov_Tax_Amount.MB
Case "NB"
Taxes = Prov_Tax_Amount.NB
Case "NF"
Taxes = Prov_Tax_Amount.NF
Case "NS"
Taxes = Prov_Tax_Amount.NS
Case "NT"
Taxes = Prov_Tax_Amount.NT
Case "NU"
Taxes = Prov_Tax_Amount.NU
Case "ONT"
Taxes = Prov_Tax_Amount.ONT
Case "PE"
Taxes = Prov_Tax_Amount.PE
Case "QC"
Taxes = Prov_Tax_Amount.QC
Case "SK"
Taxes = Prov_Tax_Amount.SK
Case "YT"
Taxes = Prov_Tax_Amount.YT
End Select
Return Taxes
End Function
Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
If Session("Order") Is Nothing Then
For Iteration = 0 To 5 Step 1
Dim OrderItem As New Product
OrderItem = Product_Info(Iteration)
Order_Info(Iteration) = OrderItem
Order_Info(Iteration).Quantity = 0
Order_Info(Iteration).ProdTotal = 0
Next
Session("Order") = Order_Info
Else
Order_Info = Session("Order")
End If
' Product Names'
lbl_Prod0_Name.Text = Order_Info(0).Name
lbl_Prod1_Name.Text = Order_Info(1).Name
lbl_Prod2_Name.Text = Order_Info(2).Name
lbl_Prod3_Name.Text = Order_Info(3).Name
lbl_Prod4_Name.Text = Order_Info(4).Name
lbl_Prod5_Name.Text = Order_Info(5).Name
' Product Images'
' - Image URLS'
IMG_Prod0.ImageUrl = Order_Info(0).ImageFile
IMG_Prod1.ImageUrl = Order_Info(1).ImageFile
IMG_Prod2.ImageUrl = Order_Info(2).ImageFile
IMG_Prod3.ImageUrl = Order_Info(3).ImageFile
IMG_Prod4.ImageUrl = Order_Info(4).ImageFile
IMG_Prod5.ImageUrl = Order_Info(5).ImageFile
' - Image IDs'
IMG_Prod0.ID = Order_Info(0).ImageID
IMG_Prod1.ID = Order_Info(1).ImageID
IMG_Prod2.ID = Order_Info(2).ImageID
IMG_Prod3.ID = Order_Info(3).ImageID
IMG_Prod4.ID = Order_Info(4).ImageID
IMG_Prod5.ID = Order_Info(5).ImageID
' - Image Alternate Text'
IMG_Prod0.AlternateText = Order_Info(0).Name
IMG_Prod1.AlternateText = Order_Info(1).Name
IMG_Prod2.AlternateText = Order_Info(2).Name
IMG_Prod3.AlternateText = Order_Info(3).Name
IMG_Prod4.AlternateText = Order_Info(4).Name
IMG_Prod5.AlternateText = Order_Info(5).Name
' Prices'
lbl_Prod0_Price.Text = FormatCurrency(Order_Info(0).Price)
lbl_Prod1_Price.Text = FormatCurrency(Order_Info(1).Price)
lbl_Prod2_Price.Text = FormatCurrency(Order_Info(2).Price)
lbl_Prod3_Price.Text = FormatCurrency(Order_Info(3).Price)
lbl_Prod4_Price.Text = FormatCurrency(Order_Info(4).Price)
lbl_Prod5_Price.Text = FormatCurrency(Order_Info(5).Price)
' Product Number'
lbl_Prod0_Num.Text = Order_Info(0).ProdNum
lbl_Prod1_Num.Text = Order_Info(1).ProdNum
lbl_Prod2_Num.Text = Order_Info(2).ProdNum
lbl_Prod3_Num.Text = Order_Info(3).ProdNum
lbl_Prod4_Num.Text = Order_Info(4).ProdNum
lbl_Prod5_Num.Text = Order_Info(5).ProdNum
' Quantity'
txt_Prod0_Quant.Text = Order_Info(0).Quantity
txt_Prod1_Quant.Text = Order_Info(1).Quantity
txt_Prod2_Quant.Text = Order_Info(2).Quantity
txt_Prod3_Quant.Text = Order_Info(3).Quantity
txt_Prod4_Quant.Text = Order_Info(4).Quantity
txt_Prod5_Quant.Text = Order_Info(5).Quantity
' Summary Product Numbers'
lbl_Num_Prod0.Text = Order_Info(0).ProdNum
lbl_Num_Prod1.Text = Order_Info(1).ProdNum
lbl_Num_Prod2.Text = Order_Info(2).ProdNum
lbl_Num_Prod3.Text = Order_Info(3).ProdNum
lbl_Num_Prod4.Text = Order_Info(4).ProdNum
lbl_Num_Prod5.Text = Order_Info(5).ProdNum
' Summary Product Names'
lbl_Name_Prod0.Text = Order_Info(0).Name
lbl_Name_Prod1.Text = Order_Info(1).Name
lbl_Name_Prod2.Text = Order_Info(2).Name
lbl_Name_Prod3.Text = Order_Info(3).Name
lbl_Name_Prod4.Text = Order_Info(4).Name
lbl_Name_Prod5.Text = Order_Info(5).Name
' Summary Product Prices'
lbl_Price_Prod0.Text = FormatCurrency(Order_Info(0).Price)
lbl_Price_Prod1.Text = FormatCurrency(Order_Info(1).Price)
lbl_Price_Prod2.Text = FormatCurrency(Order_Info(2).Price)
lbl_Price_Prod3.Text = FormatCurrency(Order_Info(3).Price)
lbl_Price_Prod4.Text = FormatCurrency(Order_Info(4).Price)
lbl_Price_Prod5.Text = FormatCurrency(Order_Info(5).Price)
' Summary Product Quantities'
lbl_Quant_Prod0.Text = Order_Info(0).Quantity
lbl_Quant_Prod1.Text = Order_Info(1).Quantity
lbl_Quant_Prod2.Text = Order_Info(2).Quantity
lbl_Quant_Prod3.Text = Order_Info(3).Quantity
lbl_Quant_Prod4.Text = Order_Info(4).Quantity
lbl_Quant_Prod5.Text = Order_Info(5).Quantity
' Summary Product Totals'
lbl_Total_Prod0.Text = FormatCurrency(Order_Info(0).ProdTotal)
lbl_Total_Prod1.Text = FormatCurrency(Order_Info(1).ProdTotal)
lbl_Total_Prod2.Text = FormatCurrency(Order_Info(2).ProdTotal)
lbl_Total_Prod3.Text = FormatCurrency(Order_Info(3).ProdTotal)
lbl_Total_Prod4.Text = FormatCurrency(Order_Info(4).ProdTotal)
lbl_Total_Prod5.Text = FormatCurrency(Order_Info(5).ProdTotal)
' Summary Totals'
SubTotal = TotalPrices()
Province = ddl_Provinces.SelectedValue
TaxRate = ProvinceTax(Province)
Tax = TaxRate * SubTotal
GrandTotal = SubTotal + Tax
lblSubTotal.Text = FormatCurrency(SubTotal)
lblTax.Text = FormatCurrency(Tax)
lblGrandTotal.Text = FormatCurrency(GrandTotal)
End Sub
...
Partial Class _Default
Inherits System.Web.UI.Page
Dim Order_Info(5) As Product
Dim Iteration As Integer
Dim Province As String
Dim SubTotal As Decimal
Dim TaxRate As Decimal
Dim Tax As Decimal
Dim GrandTotal As Decimal
Protected Function Product_Info(ByVal Number) As Product
Dim Info As New Product
Dim Name As New Names
Dim ProdID As New ProdIDs
Dim Price As New Prices
Dim ProdNum As New ProdNums
Info.ImageFile = "./Images/" + ProdID.ProdID(Number) + ".jpg"
Info.ImageID = ProdID.ProdID(Number) + "_IMG"
Info.Name = Name.Name(Number)
Info.ProdID = ProdID.ProdID(Number)
Info.ProdNum = ProdNum.ProdNum(Number)
Info.Price = Price.Price(Number)
Return Info
End Function
Protected Function UpdateOrder(ByVal New_Product As Product, ByVal Quantity As Integer) As Product
Dim Prod_Info As New Product
Prod_Info = New_Product
Prod_Info.Quantity = Quantity
Prod_Info.ProdTotal = Prod_Info.Price * Quantity
Return Prod_Info
End Function
Protected Function TotalPrices() As Decimal
Dim TotalPrice As Decimal = 0
For Iteration = 0 To 5 Step 1
TotalPrice = TotalPrice + Order_Info(Iteration).ProdTotal
Next
Return TotalPrice
End Function
Protected Function ProvinceTax(ByVal Province As String) As Decimal
Dim Prov_Tax_Amount As New Tax
Dim Taxes As Decimal
Select Case Province
Case "AB"
Taxes = Prov_Tax_Amount.AB
Case "BC"
Taxes = Prov_Tax_Amount.BC
Case "MB"
Taxes = Prov_Tax_Amount.MB
Case "NB"
Taxes = Prov_Tax_Amount.NB
Case "NF"
Taxes = Prov_Tax_Amount.NF
Case "NS"
Taxes = Prov_Tax_Amount.NS
Case "NT"
Taxes = Prov_Tax_Amount.NT
Case "NU"
Taxes = Prov_Tax_Amount.NU
Case "ONT"
Taxes = Prov_Tax_Amount.ONT
Case "PE"
Taxes = Prov_Tax_Amount.PE
Case "QC"
Taxes = Prov_Tax_Amount.QC
Case "SK"
Taxes = Prov_Tax_Amount.SK
Case "YT"
Taxes = Prov_Tax_Amount.YT
End Select
Return Taxes
End Function
Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
If Session("Order") Is Nothing Then
For Iteration = 0 To 5 Step 1
Dim OrderItem As New Product
OrderItem = Product_Info(Iteration)
Order_Info(Iteration) = OrderItem
Order_Info(Iteration).Quantity = 0
Order_Info(Iteration).ProdTotal = 0
Next
Session("Order") = Order_Info
Else
Order_Info = Session("Order")
End If
' Product Names'
lbl_Prod0_Name.Text = Order_Info(0).Name
lbl_Prod1_Name.Text = Order_Info(1).Name
lbl_Prod2_Name.Text = Order_Info(2).Name
lbl_Prod3_Name.Text = Order_Info(3).Name
lbl_Prod4_Name.Text = Order_Info(4).Name
lbl_Prod5_Name.Text = Order_Info(5).Name
' Product Images'
' - Image URLS'
IMG_Prod0.ImageUrl = Order_Info(0).ImageFile
IMG_Prod1.ImageUrl = Order_Info(1).ImageFile
IMG_Prod2.ImageUrl = Order_Info(2).ImageFile
IMG_Prod3.ImageUrl = Order_Info(3).ImageFile
IMG_Prod4.ImageUrl = Order_Info(4).ImageFile
IMG_Prod5.ImageUrl = Order_Info(5).ImageFile
' - Image IDs'
IMG_Prod0.ID = Order_Info(0).ImageID
IMG_Prod1.ID = Order_Info(1).ImageID
IMG_Prod2.ID = Order_Info(2).ImageID
IMG_Prod3.ID = Order_Info(3).ImageID
IMG_Prod4.ID = Order_Info(4).ImageID
IMG_Prod5.ID = Order_Info(5).ImageID
' - Image Alternate Text'
IMG_Prod0.AlternateText = Order_Info(0).Name
IMG_Prod1.AlternateText = Order_Info(1).Name
IMG_Prod2.AlternateText = Order_Info(2).Name
IMG_Prod3.AlternateText = Order_Info(3).Name
IMG_Prod4.AlternateText = Order_Info(4).Name
IMG_Prod5.AlternateText = Order_Info(5).Name
' Prices'
lbl_Prod0_Price.Text = FormatCurrency(Order_Info(0).Price)
lbl_Prod1_Price.Text = FormatCurrency(Order_Info(1).Price)
lbl_Prod2_Price.Text = FormatCurrency(Order_Info(2).Price)
lbl_Prod3_Price.Text = FormatCurrency(Order_Info(3).Price)
lbl_Prod4_Price.Text = FormatCurrency(Order_Info(4).Price)
lbl_Prod5_Price.Text = FormatCurrency(Order_Info(5).Price)
' Product Number'
lbl_Prod0_Num.Text = Order_Info(0).ProdNum
lbl_Prod1_Num.Text = Order_Info(1).ProdNum
lbl_Prod2_Num.Text = Order_Info(2).ProdNum
lbl_Prod3_Num.Text = Order_Info(3).ProdNum
lbl_Prod4_Num.Text = Order_Info(4).ProdNum
lbl_Prod5_Num.Text = Order_Info(5).ProdNum
' Quantity'
txt_Prod0_Quant.Text = Order_Info(0).Quantity
txt_Prod1_Quant.Text = Order_Info(1).Quantity
txt_Prod2_Quant.Text = Order_Info(2).Quantity
txt_Prod3_Quant.Text = Order_Info(3).Quantity
txt_Prod4_Quant.Text = Order_Info(4).Quantity
txt_Prod5_Quant.Text = Order_Info(5).Quantity
' Summary Product Numbers'
lbl_Num_Prod0.Text = Order_Info(0).ProdNum
lbl_Num_Prod1.Text = Order_Info(1).ProdNum
lbl_Num_Prod2.Text = Order_Info(2).ProdNum
lbl_Num_Prod3.Text = Order_Info(3).ProdNum
lbl_Num_Prod4.Text = Order_Info(4).ProdNum
lbl_Num_Prod5.Text = Order_Info(5).ProdNum
' Summary Product Names'
lbl_Name_Prod0.Text = Order_Info(0).Name
lbl_Name_Prod1.Text = Order_Info(1).Name
lbl_Name_Prod2.Text = Order_Info(2).Name
lbl_Name_Prod3.Text = Order_Info(3).Name
lbl_Name_Prod4.Text = Order_Info(4).Name
lbl_Name_Prod5.Text = Order_Info(5).Name
' Summary Product Prices'
lbl_Price_Prod0.Text = FormatCurrency(Order_Info(0).Price)
lbl_Price_Prod1.Text = FormatCurrency(Order_Info(1).Price)
lbl_Price_Prod2.Text = FormatCurrency(Order_Info(2).Price)
lbl_Price_Prod3.Text = FormatCurrency(Order_Info(3).Price)
lbl_Price_Prod4.Text = FormatCurrency(Order_Info(4).Price)
lbl_Price_Prod5.Text = FormatCurrency(Order_Info(5).Price)
' Summary Product Quantities'
lbl_Quant_Prod0.Text = Order_Info(0).Quantity
lbl_Quant_Prod1.Text = Order_Info(1).Quantity
lbl_Quant_Prod2.Text = Order_Info(2).Quantity
lbl_Quant_Prod3.Text = Order_Info(3).Quantity
lbl_Quant_Prod4.Text = Order_Info(4).Quantity
lbl_Quant_Prod5.Text = Order_Info(5).Quantity
' Summary Product Totals'
lbl_Total_Prod0.Text = FormatCurrency(Order_Info(0).ProdTotal)
lbl_Total_Prod1.Text = FormatCurrency(Order_Info(1).ProdTotal)
lbl_Total_Prod2.Text = FormatCurrency(Order_Info(2).ProdTotal)
lbl_Total_Prod3.Text = FormatCurrency(Order_Info(3).ProdTotal)
lbl_Total_Prod4.Text = FormatCurrency(Order_Info(4).ProdTotal)
lbl_Total_Prod5.Text = FormatCurrency(Order_Info(5).ProdTotal)
' Summary Totals'
SubTotal = TotalPrices()
Province = ddl_Provinces.SelectedValue
TaxRate = ProvinceTax(Province)
Tax = TaxRate * SubTotal
GrandTotal = SubTotal + Tax
lblSubTotal.Text = FormatCurrency(SubTotal)
lblTax.Text = FormatCurrency(Tax)
lblGrandTotal.Text = FormatCurrency(GrandTotal)
End Sub
...