LoginChoice.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="LoginChoice.aspx.vb" Inherits="LoginChoice" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Login Choice</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
<form id="form1" runat="server">

<div class="container">
    <h2>Login As</h2>

    <asp:Button ID="btnEmployee" runat="server" Text="Employee" CssClass="btn" OnClick="btnEmployee_Click" />
    <br /><br />

    <asp:Button ID="btnCustomer" runat="server" Text="Customer" CssClass="btn" OnClick="btnCustomer_Click" />
</div>

</form>
</body>
</html>

LoginChoice.aspx.vb

Partial Class LoginChoice
 Inherits System.Web.UI.Page

    Protected Sub btnEmployee_Click(sender As Object, e As EventArgs)
  Response.Redirect("EmployeeLogin.aspx")
    End Sub

    Protected Sub btnCustomer_Click(sender As Object, e As EventArgs)
  Response.Redirect("main.aspx")
    End Sub

End Class

EmployeeLogin.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="EmployeeLogin.aspx.vb" Inherits="EmployeeLogin" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Employee Login</title>
    <link rel="stylesheet" href="style.css" />
</head>

<body>
<form id="form1" runat="server">

<div class="auth-box">
    <h2>Employee Login</h2>

    <asp:TextBox ID="txtEmail" runat="server" Placeholder="Email"></asp:TextBox>
    <asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Placeholder="Password"></asp:TextBox>

    <asp:Button ID="btnLogin" runat="server" Text="Login" CssClass="btn" OnClick="btnLogin_Click" />
    <asp:Label ID="lblMsg" runat="server" ForeColor="Red"></asp:Label>

</div>

</form>
</body>
</html>

EmployeeLogin.aspx.vb

Partial Class EmployeeLogin
    Inherits System.Web.UI.Page

    Protected Sub btnLogin_Click(sender As Object, e As EventArgs)

        If txtEmail.Text = "admin" And txtPassword.Text = "1234" Then

            Session("Employee") = txtEmail.Text

            Response.Redirect("employee_dashboard.aspx")

        Else
            lblMsg.Text = "Invalid Email or Password"
        End If

    End Sub

End Class

EmployeeDashboard.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="employee_dashboard.aspx.vb" Inherits="employee_dashboard" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Employee Dashboard</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
<form id="form1" runat="server">

<header>
    <h1>Employee Dashboard</h1>
</header>

<nav>
    <ul>
        <li>
            <asp:HyperLink ID="hlUpdateCatalog" runat="server" NavigateUrl="update_catalog.aspx" Text="Update Product Catalog" />
        </li>
        <li>
            <asp:HyperLink ID="btnLogout" runat="server" NavigateUrl="LoginChoice.aspx" Text="Logout" />
        </li>
    </ul>
</nav>

<div class="container">
    <h2>Welcome, Employee!</h2>
    <p>Select an option from the menu above to proceed.</p>
</div>

</form>
</body>
</html>

EmployeeDashboard.aspx.vb

Partial Class employee_dashboard
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        If Session("Employee") Is Nothing Then
            Response.Redirect("EmployeeLogin.aspx")
        End If
    End Sub

    Protected Sub btnLogout_Click(sender As Object, e As EventArgs)
        Session.Clear()
        Response.Redirect("LoginChoice.aspx")
    End Sub

End Class

update_catalog.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="update_catalog.aspx.vb" Inherits="_update_catalog" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Update Product - Pine Valley Furniture</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>

<form id="form1" runat="server">

<header>
    <h1>Update Product</h1>
</header>

<div class="container">

    <div class="auth-box">

        Product ID:
        <asp:TextBox ID="txtProductId" runat="server" />

        <asp:Button ID="btnSearch" runat="server"
            Text="Search Product"
            CssClass="btn"
            OnClick="btnSearch_Click" />

        Finish (Name):
        <asp:TextBox ID="txtName" runat="server" />

        Description:
        <asp:TextBox ID="txtDesc" runat="server" TextMode="SingleLine" />

        Price:
        <asp:TextBox ID="txtPrice" runat="server" />

        <asp:Button ID="btnConfirm" runat="server"
            Text="Update Product"
            CssClass="btn"
            OnClick="btnConfirm_Click" />

        <asp:Label ID="lblMessage" runat="server" 
            style="display:block; margin-top:10px; color:red;"></asp:Label>

        <br />

        <asp:HyperLink ID="hlBack" runat="server"
            NavigateUrl="employee_dashboard.aspx"
            CssClass="btn"
            style="text-decoration:none; display:inline-block; margin-top:10px;">
            Back
        </asp:HyperLink>

    </div>

</div>

</form>
</body>
</html>

update_catalog.aspx.vb

Imports System.Data.SqlClient
Imports System.Configuration

Partial Class _update_catalog
    Inherits System.Web.UI.Page

    Dim connStr As String = ConfigurationManager.ConnectionStrings("PVFC").ConnectionString

    Protected Sub btnSearch_Click(sender As Object, e As EventArgs)

        If txtProductId.Text = "" Then
            lblMessage.Text = "Enter Product ID."
            Exit Sub
        End If

        Dim conn As New SqlConnection(connStr)

        Dim query As String = "SELECT Product_Finish, Product_Description, Standard_Price " &
                              "FROM PRODUCT_t WHERE Product_Id = '" & txtProductId.Text & "'"

        Dim cmd As New SqlCommand(query, conn)

        conn.Open()
        Dim reader As SqlDataReader = cmd.ExecuteReader()

        If reader.Read() Then
            txtName.Text = reader("Product_Finish").ToString()
            txtDesc.Text = reader("Product_Description").ToString()
            txtPrice.Text = reader("Standard_Price").ToString()
            lblMessage.Text = "Product found."
        Else
            lblMessage.Text = "Product not found."
            txtName.Text = ""
            txtDesc.Text = ""
            txtPrice.Text = ""
        End If

        reader.Close()
        conn.Close()

    End Sub

    Protected Sub btnConfirm_Click(sender As Object, e As EventArgs)

        If txtProductId.Text = "" Or txtName.Text = "" Or txtDesc.Text = "" Or txtPrice.Text = "" Then
            lblMessage.Text = "Please fill all fields."
            Exit Sub
        End If

        Dim conn As New SqlConnection(connStr)

        Dim query As String = "UPDATE PRODUCT_t SET " &
                              "Product_Finish = '" & txtName.Text & "', " &
                              "Product_Description = '" & txtDesc.Text & "', " &
                              "Standard_Price = '" & txtPrice.Text & "' " &
                              "WHERE Product_Id = '" & txtProductId.Text & "'"

        Dim cmd As New SqlCommand(query, conn)

        conn.Open()
        Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
        conn.Close()

        If rowsAffected > 0 Then
            lblMessage.Text = "Product updated successfully!"
        Else
            lblMessage.Text = "Update failed or Product not found."
        End If

    End Sub

End Class

main.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="main.aspx.vb" Inherits="_main" %>
<!DOCTYPE html>
<html>
<head runat="server">
    <title>Pine Valley Furniture</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <form id="form1" runat="server">
        <header>
            <h1>Pine Valley Furniture</h1>
        </header>

        <nav>
            <ul>
                <li><a href="register.aspx">Customer Registration</a></li>
                <li><a href="search.aspx">Search Products</a></li>
                <li><a href="Cart.aspx">Cart</a></li>
                <li><a href="help.aspx">Help</a></li>
            </ul>
        </nav>

        <div class="container">
            <h2>Welcome to Pine Valley Furniture</h2>
            <asp:HyperLink ID="ShopNowLink" runat="server" NavigateUrl="search.aspx">
                <asp:Button ID="btnShopNow" runat="server" Text="Shop Now" CssClass="btn" />
            </asp:HyperLink>
        </div>

        <footer>
            Contact us: 0309-5878126 | Email: hhm@gmail.com
        </footer>
    </form>
</body>
</html>

main.aspx.vb

Partial Class _main
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    End Sub
End Class

Register.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Register.aspx.vb" Inherits="Register" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Customer Registration</title>
    <link href="style.css" rel="stylesheet" />
</head>
<body>

<form id="form1" runat="server">

<header>
    <h1>Pine Valley Furniture - Customer Registration</h1>
</header>

<nav>
    <ul>
        <li><a href="Main.aspx">Home</a></li>
        <li><a href="Register.aspx">Register</a></li>
        <li><a href="Cart.aspx">Cart</a></li>
    </ul>
</nav>

<div class="container">

    <div class="auth-box">

        <h2>New Customer</h2>

        <asp:TextBox ID="txtCustomerId" runat="server"
            CssClass="input-field" placeholder="Customer ID" />
        <br /><br />

        <asp:TextBox ID="txtName" runat="server"
            CssClass="input-field" placeholder="Customer Name" />
        <br /><br />

        <asp:TextBox ID="txtAddress" runat="server"
            CssClass="input-field" placeholder="Address" />
        <br /><br />

        <asp:TextBox ID="txtCity" runat="server"
            CssClass="input-field" placeholder="City" />
        <br /><br />

        <asp:TextBox ID="txtState" runat="server"
            CssClass="input-field" placeholder="State (2 letters)" />
        <br /><br />

        <asp:TextBox ID="txtPostal" runat="server"
            CssClass="input-field" placeholder="Postal Code" />
        <br /><br />

        <asp:Button ID="btnSubmit" runat="server"
            Text="Register"
            CssClass="btn"
            OnClick="btnSubmit_Click" />
        <br /><br />

        <asp:Label ID="lblMessage" runat="server" />

    </div>

    <p>Already Registered? Click below to update info</p>
    <a href="update_customer.aspx">Update Customer Information</a>
</div>

</form>
</body>
</html>

Register.aspx.vb

Imports System.Data.SqlClient
Imports System.Configuration

Partial Class Register
    Inherits System.Web.UI.Page

    Dim connStr As String = ConfigurationManager.ConnectionStrings("PVFC").ConnectionString

    Protected Sub btnSubmit_Click(sender As Object, e As EventArgs)

        Dim conn As New SqlConnection(connStr)

        Dim query As String = "INSERT INTO CUSTOMER_t " &
                              "(Customer_Id, Customer_Name, Customer_Address, Customer_City, Customer_State, Postal_Code) VALUES (" &
                              txtCustomerId.Text & ", '" &
                              txtName.Text & "', '" &
                              txtAddress.Text & "', '" &
                              txtCity.Text & "', '" &
                              txtState.Text & "', '" &
                              txtPostal.Text & "')"

        Dim cmd As New SqlCommand(query, conn)

        Try
            conn.Open()
            cmd.ExecuteNonQuery()
            lblMessage.ForeColor = Drawing.Color.Green
            lblMessage.Text = "Customer Registered Successfully!"
            conn.Close()
        Catch ex As Exception
            lblMessage.ForeColor = Drawing.Color.Red
            lblMessage.Text = "Error: " & ex.Message
        End Try

    End Sub

End Class

update_customer.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="update_customer.aspx.vb" Inherits="update_customer" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Update Customer</title>
    <link href="style.css" rel="stylesheet" />
</head>
<body>

<form id="form1" runat="server">

<header>
    <h1>Update Customer</h1>
</header>

<div class="container">

    <div class="auth-box">

        <asp:Label Text="Customer ID:" runat="server"></asp:Label>
        <asp:TextBox ID="txtCustomerId" runat="server"></asp:TextBox>
        <asp:Button ID="btnSearch" runat="server" Text="Search" CssClass="btn" OnClick="btnSearch_Click" />
        <br /><br />

        <asp:Label Text="Name:" runat="server"></asp:Label>
        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
        <br /><br />

        <asp:Label Text="Address:" runat="server"></asp:Label>
        <asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
        <br /><br />

        <asp:Label Text="City:" runat="server"></asp:Label>
        <asp:TextBox ID="txtCity" runat="server"></asp:TextBox>
        <br /><br />

        <asp:Label Text="State:" runat="server"></asp:Label>
        <asp:TextBox ID="txtState" runat="server"></asp:TextBox>
        <br /><br />

        <asp:Label Text="Postal Code:" runat="server"></asp:Label>
        <asp:TextBox ID="txtPostal" runat="server"></asp:TextBox>
        <br /><br />

        <asp:Button ID="btnUpdate" runat="server" Text="Update"
            CssClass="btn" OnClick="btnUpdate_Click" Enabled="False" />

        <asp:Label ID="lblMessage" runat="server" 
            style="display:block; margin-top:10px; color:green;"></asp:Label>

    </div>

</div>

</form>
</body>
</html>

update_customer.aspx.vb

Imports System.Configuration
Imports System.Data.SqlClient
Imports System.Net.NetworkInformation

Partial Class update_customer
    Inherits System.Web.UI.Page

    Dim connStr As String = ConfigurationManager.ConnectionStrings("PVFC").ConnectionString

    Protected Sub btnSearch_Click(sender As Object, e As EventArgs)

        If txtCustomerId.Text = "" Then
            lblMessage.Text = "Please enter Customer ID"
            Exit Sub
        End If

        Dim conn As New SqlConnection(connStr)
        Dim query As String = "SELECT * FROM CUSTOMER_t WHERE Customer_Id = " & txtCustomerId.Text
        Dim cmd As New SqlCommand(query, conn)

        Try
            conn.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()

            If reader.Read() Then

                txtName.Text = reader("Customer_Name").ToString()
                txtAddress.Text = reader("Customer_Address").ToString()
                txtCity.Text = reader("Customer_City").ToString()
                txtState.Text = reader("Customer_State").ToString()
                txtPostal.Text = reader("Postal_Code").ToString()

                lblMessage.Text = "Customer Found!"
                btnUpdate.Enabled = True

            Else
                lblMessage.Text = "Customer ID does not exist!"
                btnUpdate.Enabled = False
            End If

            conn.Close()

        Catch ex As Exception
            lblMessage.Text = "Error: " & ex.Message
        End Try

    End Sub

    Protected Sub btnUpdate_Click(sender As Object, e As EventArgs)

        Dim conn As New SqlConnection(connStr)

        Dim query As String = "UPDATE CUSTOMER_t SET " &
                              "Customer_Name = '" & txtName.Text & "', " &
                              "Customer_Address = '" & txtAddress.Text & "', " &
                              "Customer_City = '" & txtCity.Text & "', " &
                              "Customer_State = '" & txtState.Text & "', " &
                              "Postal_Code = '" & txtPostal.Text & "' " &
                              "WHERE Customer_Id = " & txtCustomerId.Text

        Dim cmd As New SqlCommand(query, conn)

        Try
            conn.Open()
            cmd.ExecuteNonQuery()

            lblMessage.Text = "Customer Updated Successfully!"

            conn.Close()

        Catch ex As Exception
            lblMessage.Text = "Error: " & ex.Message
        End Try

    End Sub

End Class

search.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="search.aspx.vb" Inherits="search" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Search Products - Pine Valley Furniture</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>

<form id="form1" runat="server">

<header>
    <h1>Search Products</h1>
</header>

<nav>
    <ul>
        <li><a href="main.aspx">Home</a></li>
        <li><a href="Cart.aspx">Cart</a></li>
    </ul>
</nav>

<div class="container">

    <div style="margin-bottom:20px;">

        <asp:Label Text="Search Product:" runat="server" />

        <asp:TextBox 
            ID="txtSearch" 
            runat="server" 
            style="padding:8px; border-radius:6px; border:1px solid #ccc;">
        </asp:TextBox>

        <asp:Button 
            ID="btnSearch"
            runat="server"
            Text="Search"
            CssClass="btn"
            OnClick="btnSearch_Click" />

        <asp:Button 
            ID="btnShowAll"
            runat="server"
            Text="Show All"
            CssClass="btn"
            OnClick="btnShowAll_Click" />

    </div>

    <asp:Label ID="lblMessage" runat="server"></asp:Label>

    <br /><br />

    <div class="product-grid">

        <asp:Repeater ID="rptProducts" runat="server" OnItemCommand="rptProducts_ItemCommand">
            <ItemTemplate>

                <div class="product-card">

                    <div class="image-box"></div>

                    <h3><%# Eval("Product_Description") %></h3>

                    <p>Finish: <%# Eval("Product_Finish") %></p>

                    <p><strong>$ <%# Eval("Standard_Price") %></strong></p>

                    <div style="margin-top:10px;">
                        Quantity:
                        <asp:TextBox 
                            ID="txtQty" 
                            runat="server" 
                            Width="50px"
                            style="padding:5px; border-radius:6px; border:1px solid #ccc;">
                        </asp:TextBox>
                    </div>

                    <asp:Button 
                        ID="btnAdd"
                        runat="server"
                        Text="Add To Cart"
                        CssClass="btn"
                        style="margin-top:10px; width:100%;"
                        CommandName="AddToCart"
                        CommandArgument='<%# Eval("Product_Id") %>' />

                </div>

            </ItemTemplate>
        </asp:Repeater>

    </div>

</div>

</form>
</body>
</html>

search.aspx.vb

Imports System.Data.SqlClient
Imports System.Configuration

Partial Class search
    Inherits System.Web.UI.Page

    Dim connStr As String = ConfigurationManager.ConnectionStrings("PVFC").ConnectionString

    Protected Sub btnSearch_Click(sender As Object, e As EventArgs)

        Dim con As New SqlConnection(connStr)

        Dim query As String = "SELECT Product_Id, Product_Description, Product_Finish, Standard_Price " &
                              "FROM PRODUCT_t WHERE Product_Description LIKE '%" & txtSearch.Text & "%'"

        Dim cmd As New SqlCommand(query, con)

        con.Open()
        Dim dr As SqlDataReader = cmd.ExecuteReader()

        rptProducts.DataSource = dr
        rptProducts.DataBind()

        con.Close()

    End Sub

    Protected Sub btnShowAll_Click(sender As Object, e As EventArgs)

        Dim con As New SqlConnection(connStr)

        Dim query As String = "SELECT Product_Id, Product_Description, Product_Finish, Standard_Price FROM PRODUCT_t"

        Dim cmd As New SqlCommand(query, con)

        con.Open()
        Dim dr As SqlDataReader = cmd.ExecuteReader()

        rptProducts.DataSource = dr
        rptProducts.DataBind()

        con.Close()

    End Sub

    Protected Sub rptProducts_ItemCommand(source As Object, e As RepeaterCommandEventArgs)

        If e.CommandName = "AddToCart" Then

            Dim productId As Integer = Convert.ToInt32(e.CommandArgument)
            Dim txtQty As TextBox = CType(e.Item.FindControl("txtQty"), TextBox)

            If txtQty.Text = "" Then
                lblMessage.Text = "Enter quantity."
                Exit Sub
            End If

            Dim quantity As Integer = Convert.ToInt32(txtQty.Text)

            Dim con As New SqlConnection(connStr)
            con.Open()

            Dim orderId As Integer = 0

            Dim checkOrderQuery As String = "SELECT TOP 1 Order_Id FROM ORDER_t WHERE Customer_Id = 1 AND Order_Date = CAST(GETDATE() AS DATE)"
            Dim cmdCheckOrder As New SqlCommand(checkOrderQuery, con)

            Dim result = cmdCheckOrder.ExecuteScalar()

            If result Is Nothing Then

                Dim newIdQuery As String = "SELECT ISNULL(MAX(Order_Id),1000)+1 FROM ORDER_t"
                Dim cmdNewId As New SqlCommand(newIdQuery, con)
                orderId = Convert.ToInt32(cmdNewId.ExecuteScalar())

                Dim insertOrderQuery As String = "INSERT INTO ORDER_t VALUES (" & orderId & ",1,CAST(GETDATE() AS DATE))"
                Dim cmdInsertOrder As New SqlCommand(insertOrderQuery, con)
                cmdInsertOrder.ExecuteNonQuery()

            Else
                orderId = Convert.ToInt32(result)
            End If

            Dim checkLineQuery As String = "SELECT Ordered_Quantity FROM Order_line_t WHERE Order_Id = " & orderId &
                                           " AND Product_Id = " & productId

            Dim cmdCheckLine As New SqlCommand(checkLineQuery, con)
            Dim existingQty = cmdCheckLine.ExecuteScalar()

            If existingQty IsNot Nothing Then

                Dim newQty As Integer = Convert.ToInt32(existingQty) + quantity

                Dim updateQuery As String = "UPDATE Order_line_t SET Ordered_Quantity = " & newQty &
                                             " WHERE Order_Id = " & orderId &
                                             " AND Product_Id = " & productId

                Dim cmdUpdate As New SqlCommand(updateQuery, con)
                cmdUpdate.ExecuteNonQuery()

            Else

                Dim insertLineQuery As String = "INSERT INTO Order_line_t VALUES (" & orderId & "," & productId & "," & quantity & ")"
                Dim cmdInsertLine As New SqlCommand(insertLineQuery, con)
                cmdInsertLine.ExecuteNonQuery()

            End If

            con.Close()

            lblMessage.Text = "Product added successfully!"

        End If

    End Sub

End Class

cart.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Cart.aspx.vb" Inherits="Cart" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Shopping Cart</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>

<form id="form1" runat="server">

<header>
    <h1>Shopping Cart</h1>
</header>

<nav>
    <ul>
        <li><a href="main.aspx">Home</a></li>
        <li><a href="search.aspx">Shop</a></li>
    </ul>
</nav>

<div class="container">

    <div class="product-grid">

        <asp:Repeater ID="rptCart" runat="server">
            <ItemTemplate>
                <div class="product-card">

                    <div class="image-box"></div>

                    <h3><%# Eval("Product_Description") %></h3>

                    <p>Finish: <%# Eval("Product_Finish") %></p>

                    <p>Price: $<%# Eval("Standard_Price") %></p>

                    <p>Quantity: <%# Eval("Ordered_Quantity") %></p>

                </div>
            </ItemTemplate>
        </asp:Repeater>

    </div>

    <br />

    <asp:Label ID="lblMessage" runat="server" 
        style="display:block; color:green; margin-bottom:10px;"></asp:Label>

     <asp:Button ID="paymentbtn" runat="server"
     Text="Proceed to Pay"
     CssClass="btn"
     PostBackUrl="payment.aspx" />

    <asp:Button ID="btnBack" runat="server"
        Text="Continue Shopping"
        CssClass="btn"
        PostBackUrl="search.aspx" />

</div>

</form>
</body>
</html>

cart.aspx.vb

Imports System.Data.SqlClient
Imports System.Configuration

Partial Class Cart
    Inherits System.Web.UI.Page

    Dim connStr As String = ConfigurationManager.ConnectionStrings("PVFC").ConnectionString

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

        If Not IsPostBack Then
            BindCart()
        End If

    End Sub

    Private Sub BindCart()

        Dim con As New SqlConnection(connStr)

        Dim query As String = "SELECT o.Order_Id, " &
                              "p.Product_Description, " &
                              "p.Product_Finish, " &
                              "p.Standard_Price, " &
                              "ol.Ordered_Quantity " &
                              "FROM ORDER_t o " &
                              "INNER JOIN Order_line_t ol ON o.Order_Id = ol.Order_Id " &
                              "INNER JOIN PRODUCT_t p ON ol.Product_Id = p.Product_Id " &
                              "WHERE o.Customer_Id = 1 " &
                              "ORDER BY o.Order_Id"

        Dim cmd As New SqlCommand(query, con)

        con.Open()

        Dim dr As SqlDataReader = cmd.ExecuteReader()

        rptCart.DataSource = dr
        rptCart.DataBind()

        con.Close()

    End Sub

End Class

Help.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Help.aspx.vb" Inherits="Help" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Help</title>
    <link rel="stylesheet" href="style.css" />
</head>

<body>

<form id="form1" runat="server">

<header>
    <h1>Help & User Guide</h1>
</header>

<nav>
    <ul>
        <li><a href="main.aspx">Home</a></li>
        <li><a href="Register.aspx">Register</a></li>
        <li><a href="Search.aspx">Search</a></li>
        <li><a href="Cart.aspx">Order</a></li>
    </ul>
</nav>

<div class="container">

<h3>New Customer Registration</h3>
<p>Customers can register by filling their name, address, city, state and postal code.</p>
<p><a href="Register.aspx">Go to Registration Page</a></p>

<hr />

<h3>Search Products</h3>
<p>Users can search products by description and product line.</p>
<p><a href="Search.aspx">Go to Search Page</a></p>

<hr />

<h3>Product Selection & Order Placement</h3>
<p>Customers can select products, enter quantity and place orders.</p>
<p><a href="Cart.aspx">Go to Order Page</a></p>

<hr />

<h3>Product Catalog Update</h3>
<p>Only employees can update product description, finish and price.</p>
<p><a href="Employee_Login.aspx">Employee Login</a></p>

<hr />

<h3>Payment Provision</h3>
<p>Customers can select payment method after placing order.</p>
<p><a href="Payment.aspx">Go to Payment Page</a></p>

</div>

<footer>
    Contact us: 0309-5878126 | Email: hhm@gmail.com
</footer>

</form>

</body>
</html>

Help.aspx.vb

Partial Class Help
    Inherits System.Web.UI.Page

End Class

Payment.aspx

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="payment.aspx.vb" Inherits="_payment" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Payment</title>
    <link rel="stylesheet" href="style.css" />
</head>

<body>
<form id="form1" runat="server">

<header>
    <h1>Payment Options</h1>
</header>

<div class="container">

    <asp:RadioButton ID="rbCash" runat="server" GroupName="Payment" Text="Cash on Delivery" /><br />
    <asp:RadioButton ID="rbCard" runat="server" GroupName="Payment" Text="Credit/Debit Card" /><br />
    <asp:RadioButton ID="rbWallet" runat="server" GroupName="Payment" Text="Other Wallet" /><br /><br />

    <asp:Button ID="btnConfirm"
        runat="server"
        Text="Confirm Payment"
        CssClass="btn"
        OnClick="btnConfirm_Click" /><br /><br />

    <asp:HyperLink ID="hlBack" runat="server" NavigateUrl="main.aspx">Back</asp:HyperLink>

</div>

</form>
</body>
</html>

payment.aspx.vb

Partial Class _payment
    Inherits System.Web.UI.Page

    Protected Sub btnConfirm_Click(sender As Object, e As EventArgs)

        If rbCash.Checked Then
            Response.Write("<script>alert('Cash on Delivery Selected');</script>")
        ElseIf rbCard.Checked Then
            Response.Write("<script>alert('Card Payment Selected');</script>")
        ElseIf rbWallet.Checked Then
            Response.Write("<script>alert('Wallet Selected');</script>")
        Else
            Response.Write("<script>alert('Please select payment method');</script>")
        End If

    End Sub

End Class

style.css

html, body {
    height: 100%;
    margin: 0;
}

body {
    font-family: Arial, sans-serif;
    display: flex;
    flex-direction: column;
    background-color: #FFF2E0;
    color: #2d2d2d;
}

form {
    flex: 1;
    display: flex;
    flex-direction: column;
}

header {
    background: #898AC4;
    color: white;
    padding: 15px;
    text-align: center;
}

nav ul {
    list-style-type: none;
    background-color: #A2AADB;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

nav ul li {
    float: left;
}

nav ul li a {
    display: block;
    color: #FFF2E0;
    padding: 12px 18px;
    text-decoration: none;
}

nav ul li a:hover {
    background-color: #C0C9EE;
    color: #FFF2E0;
}

.container {
    flex: 1;
    padding: 25px;
}

button, .btn {
    padding: 10px 18px;
    background: #A2AADB;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

button:hover, .btn:hover {
    background: #898AC4;
}

footer {
    background-color: #C0C9EE;
    text-align: center;
    padding: 12px;
    width: 100%;
}

.product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.product-card {
    background: #C0C9EE;
    padding: 15px;
    border-radius: 10px;
    width: 200px;
    text-align: center;
}

.image-box {
    width: 100%;
    height: 120px;
    background-color: #A2AADB;
    border-radius: 8px;
    margin-bottom: 10px;
}

.auth-box {
    width: 350px;
    background: white;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
    margin: auto;
    margin-top: 120px;
    text-align: center;
}

.auth-box input, .auth-box .btn {
    width: 100%;
    padding: 10px;
    margin-top: 10px;
}