مدیریت سفارشات در یک فروشگاه آنلاین با استفاده از ASP.NET Web Forms شامل مراحل مختلفی از جمله ثبت سفارشات، مشاهده لیست سفارشات، و مدیریت جزئیات سفارشات میشود. در اینجا، یک راهنمای ساده برای پیادهسازی سیستم مدیریت سفارشات را ارائه میدهم.
### ۱. طراحی پایگاه داده
برای مدیریت سفارشات، شما به چند جدول نیاز دارید:
#### جدول Products
- **ProductID** (int, کلید اصلی، شناسایی خودکار)
- **ProductName** (nvarchar(100))
- **Price** (decimal)
#### جدول Orders
- **OrderID** (int, کلید اصلی، شناسایی خودکار)
- **Username** (nvarchar(50))
- **OrderDate** (datetime)
#### جدول OrderDetails
- **OrderDetailID** (int, کلید اصلی، شناسایی خودکار)
- **OrderID** (int, کلید خارجی به جدول Orders)
- **ProductID** (int, کلید خارجی به جدول Products)
- **Quantity** (int)
### ۲. طراحی صفحات وب
#### ۲.۱. صفحه ثبت سفارش
ابتدا یک صفحه جدید به نام **Order.aspx** ایجاد کنید که در آن کاربر میتواند سفارشات خود را ثبت کند:
```asp
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Order.aspx.cs" Inherits="YourNamespace.Order" %>
Order
```
### ۳. کد سرور برای ثبت سفارش
در **Order.aspx.cs**، کد مربوط به ثبت سفارش را اضافه کنید:
```csharp
using System;
using System.Data.SqlClient;
using System.Configuration;
namespace YourNamespace
{
public partial class Order : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadProducts();
}
}
private void LoadProducts()
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString))
{
string query = "SELECT ProductID, ProductName FROM Products";
using (SqlCommand cmd = new SqlCommand(query, con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
ddlProducts.DataSource = reader;
ddlProducts.DataTextField = "ProductName";
ddlProducts.DataValueField = "ProductID";
ddlProducts.DataBind();
}
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string username = "user"; // اینجا باید نام کاربری واقعی را بگذارید
int productId = int.Parse(ddlProducts.SelectedValue);
int quantity = int.Parse(txtQuantity.Text);
DateTime orderDate = DateTime.Now;
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString))
{
con.Open();
// ثبت سفارش
string orderQuery = "INSERT INTO Orders (Username, OrderDate) OUTPUT INSERTED.OrderID VALUES (@Username, @OrderDate)";
int orderId;
using (SqlCommand cmd = new SqlCommand(orderQuery, con))
{
cmd.Parameters.AddWithValue("@Username", username);
cmd.Parameters.AddWithValue("@OrderDate", orderDate);
orderId = (int)cmd.ExecuteScalar();
}
// ثبت جزئیات سفارش
string orderDetailQuery = "INSERT INTO OrderDetails (OrderID, ProductID, Quantity) VALUES (@OrderID, @ProductID, @Quantity)";
using (SqlCommand cmd = new SqlCommand(orderDetailQuery, con))
{
cmd.Parameters.AddWithValue("@OrderID", orderId);
cmd.Parameters.AddWithValue("@ProductID", productId);
cmd.Parameters.AddWithValue("@Quantity", quantity);
cmd.ExecuteNonQuery();
}
}
lblMessage.Text = "Order submitted successfully!";
}
}
}
```
### ۴. طراحی صفحه نمایش لیست سفارشات
صفحه دیگری به نام **OrderList.aspx** ایجاد کنید تا لیست سفارشات ثبت شده را نمایش دهد:
```asp
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OrderList.aspx.cs" Inherits="YourNamespace.OrderList" %>
Order List
```
### ۵. کد سرور برای نمایش لیست سفارشات
در **OrderList.aspx.cs**، کد مربوط به نمایش لیست سفارشات را اضافه کنید:
```csharp
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace YourNamespace
{
public partial class OrderList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadOrders();
}
}
private void LoadOrders()
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString))
{
string query = "SELECT o.OrderID, o.OrderDate, od.Quantity, p.ProductName FROM Orders o " +
"INNER JOIN OrderDetails od ON o.OrderID = od.OrderID " +
"INNER JOIN Products p ON od.ProductID = p.ProductID " +
"ORDER BY o.OrderDate DESC";
using (SqlCommand cmd = new SqlCommand(query, con))
{
con.Open();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
gvOrders.DataSource = dt;
gvOrders.DataBind();
}
}
}
}
}
```
### ۶. نتیجهگیری
با دنبال کردن مراحل فوق، شما میتوانید یک سیستم ساده برای مدیریت سفارشات در یک فروشگاه آنلاین با استفاده از ASP.NET Web Forms ایجاد کنید. این سیستم به شما این امکان را میدهد که:
- کاربران میتوانند محصولات را انتخاب کنند و سفارشات خود را ثبت کنند.
- سفارشات ثبت شده در یک لیست نمایش داده میشوند.
شما میتوانید این سیستم را گسترش دهید تا ویژگیهای بیشتری اضافه کنید، مانند مدیریت محصولات، ویرایش و حذف سفارشات، و مدیریت کاربر.
| صفحه قابل مشاهده:
دانلود کد مدیریت سفارشات فروشگاه آنلاین با ASP.NET Web Form میباشد