📄 order.aspx.cs
字号:
/// <summary>
/// 清空订单基本信息
/// </summary>
private void ClearOD()
{
//清空文本框
foreach(TextBox tb in new TextBox[] {tb_Coupon,tb_CrDT,tb_CrUsr,tb_Discont,tb_Freight
,tb_GetMoney,tb_InovoiceTitle,tb_MDDT,tb_MdUsr,tb_OrderID
,tb_PostCode,tb_ProdPrice,tb_RealPrice,tb_RsvAddress,tb_RsvName
,tb_RsvTel,tb_SendDt,tb_TotalPrice
})
{
tb.Text = "" ;
}
//下拉框
foreach(DropDownList ddl in new DropDownList[] {ddl_Coupon,ddl_Leaguer,ddl_PayType,ddl_RsvType,ddl_Status})
{
ddl.SelectedIndex = 0 ;
}
}
#endregion
#region 查询商品信息
private void b_Code_Click(object sender, System.EventArgs e)
{
string code = this.tb_Code.Text.Trim() ;
if(code == "")
{
CommHandler.Alert(Page,"请输入商品代码查询!") ;
return ;
}
//实例购物车类对象
Cart cart = new Cart() ;
//执行查询操作(操作的是商品信息表)
DataTable dt = cart.GetProdByCode(code) ;
if(dt.Rows.Count > 0)
{
DataRow dr = dt.Rows[0] ;
//将查询结果显示在界面
this.tb_UnitPrice.Text = dr["UnitPrice"].ToString() ;
this.tb_SellPrice.Text = dr["SellPrice"].ToString() ;
this.tb_ProductName.Text = dr["Prodname"].ToString() ;
this.tb_ProductID.Text = dr["ProdID"].ToString() ;
}
}
#endregion
#region 创建购物车表
/// <summary>
/// 创建购物车表
/// </summary>
/// <returns></returns>
private DataTable CreateDtCart()
{
DataTable dt = new DataTable() ;
//添加列
dt.Columns.Add("CartID") ;
dt.Columns.Add("ProductID") ;
dt.Columns.Add("ProductName") ;
dt.Columns.Add("UnitPrice") ;
dt.Columns.Add("SellPrice") ;
dt.Columns.Add("OrderNum") ;
return dt ;
}
#endregion
#region 保存购物车
/// <summary>
/// 保存购物车信息
/// </summary>
/// <param name="odid">订单ID</param>
private void SaveCart(int odid)
{
for(int i=0;i<dtCart.Rows.Count;i++)
{
DataRow dr = dtCart.Rows[i] ;
int cartid = CommHandler.StringToInt(dr["CartID"].ToString()) ;
Cart c = new Cart() ;
if(cartid == 0)
{
//新建
c.OrderID = odid ;
BindCart(dr,c) ;
c.AddCart() ;
}
else
{
//修改
BindCart(dr,c) ;
c.CartID = cartid ;
c.ModifyCart() ;
}
}
}
/// <summary>
/// 绑定购物车信息
/// </summary>
/// <param name="dr">购物车列表中的行</param>
/// <param name="c">购物车信息对象</param>
private void BindCart(DataRow dr, Cart c)
{
c.CustID = (int)COAdminGlobals.CustomerID ;
c.OrderNum = CommHandler.StringToInt(dr["OrderNum"].ToString()) ;
c.ProductID = CommHandler.StringToInt(dr["ProductID"].ToString()) ;
c.ProductName = dr["ProductName"].ToString() ;
c.SellPrice = CommHandler.StringToDouble(dr["SellPrice"].ToString()) ;
c.UnitPrice = CommHandler.StringToDouble(dr["UnitPrice"].ToString()) ;
}
#endregion
#region 添加到购物车
private void b_AddCart_Click(object sender, System.EventArgs e)
{
string prodid = this.tb_ProductID.Text.Trim() ;
if(prodid == "")
{
CommHandler.Alert(Page,"请输入商品代码查询!") ;
return ;
}
if(CommHandler.StringToInt(tb_OrderNum.Text.Trim()) ==0)
{
CommHandler.Alert(Page,"请输入订购数量!") ;
return ;
}
//新建购物车行
DataRow dr = dtCart.NewRow() ;
//绑定购物车信息
CartData(dr) ;
//添加行到列表
dtCart.Rows.Add(dr) ;
Session["dtCart"] = dtCart ;
//清空商品信息
ClearCart() ;
//重新绑定数据
CommHandler.BindGrid(dg,dtCart) ;
if(dtCart.Rows.Count > 0 )
{
//重新计算总价
CalPrice() ;
}
}
/// <summary>
/// 购物车表信息绑定
/// </summary>
/// <param name="dr">行</param>
private void CartData(DataRow dr)
{
dr["ProductID"] = this.tb_ProductID.Text.Trim() ;
dr["ProductName"] = this.tb_ProductName.Text.Trim() ;
dr["UnitPrice"] = this.tb_UnitPrice.Text.Trim() ;
dr["SellPrice"] = this.tb_SellPrice.Text.Trim() ;
dr["OrderNum"] = this.tb_OrderNum.Text.Trim() ;
}
#endregion
#region 修改到购物车
private void b_ModCart_Click(object sender, System.EventArgs e)
{
int index = CommHandler.StringToInt(hIndex.Value) ;
if(index == 0)
{
CommHandler.Alert(Page,"请在购物车中选择要修改的行!") ;
return ;
}
string prodid = this.tb_ProductID.Text.Trim() ;
if(prodid == "")
{
CommHandler.Alert(Page,"请输入商品代码查询!") ;
return ;
}
if(CommHandler.StringToInt(tb_OrderNum.Text.Trim()) ==0)
{
CommHandler.Alert(Page,"请输入订购数量!") ;
return ;
}
//找到要修改的行
DataRow dr = dtCart.Rows[index] ;
//开始修改
dr.BeginEdit() ;
CartData(dr) ;
//结束修改
dr.EndEdit() ;
// 清空商品信息
ClearCart() ;
//重新绑定购物车列表
Session["dtCart"] = dtCart ;
CommHandler.BindGrid(dg,dtCart) ;
if(dtCart.Rows.Count > 0 )
{
//重新计算总价
CalPrice() ;
}
}
#endregion
#region 从购物车删除
private void b_DelCart_Click(object sender, System.EventArgs e)
{
int index = CommHandler.StringToInt(hIndex.Value) ;
if(index == 0)
{
CommHandler.Alert(Page,"请在购物车中选择要删除的行!") ;
return ;
}
string scartid = dtCart.Rows[index]["CartID"].ToString() ;
int cartid = CommHandler.StringToInt(scartid);
if( cartid != 0)
{
//从数据库中删除行
int ret = Cart.DeleteCart(cartid) ;
}
//从列表中删除行
dtCart.Rows.RemoveAt(index) ;
Session["dtCart"] = dtCart ;
ClearCart() ;
//重新绑定数据
CommHandler.BindGrid(dg,dtCart) ;
if(dtCart.Rows.Count > 0 )
{
//重新计算总价
CalPrice() ;
}
}
#endregion
#region 购物车选中
private void dg_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//选中的行号和行
int index = e.Item.ItemIndex ;
DataRow dr = dtCart.Rows[index] ;
//将信息显示在界面
hIndex.Value = index.ToString() ;
hCartID.Value = dr["CartID"].ToString() ;
this.tb_SellPrice.Text = dr["SellPrice"].ToString() ;
this.tb_ProductName.Text = dr["ProdName"].ToString() ;
this.tb_ProductID.Text = dr["ProductID"].ToString() ;
this.tb_OrderNum.Text = dr["OrderNum"].ToString() ;
this.tb_UnitPrice.Text = dr["UnitPrice"].ToString() ;
}
/// <summary>
/// 清空界面的商品信息部分
/// </summary>
private void ClearCart()
{
hIndex.Value = "" ;
hCartID.Value = "" ;
this.tb_SellPrice.Text = "" ;
this.tb_ProductName.Text = "" ;
this.tb_ProductID.Text = "" ;
this.tb_OrderNum.Text = "" ;
this.tb_UnitPrice.Text = "" ;
this.dg.SelectedIndex = -1 ;
}
#endregion
#region 修改需要发票选项
private void cb_IsInvoice_CheckedChanged(object sender, System.EventArgs e)
{
if(this.cb_IsInvoice.Checked)
{
//选择需要发票,需填写发票抬头
this.tb_InovoiceTitle.ReadOnly = false ;
this.tb_InovoiceTitle.BackColor=System.Drawing.Color.White ;
}
else
{
//不要发票,发票抬头文本框不可用
this.tb_InovoiceTitle.BackColor=System.Drawing.Color.Gainsboro ;
this.tb_InovoiceTitle.ReadOnly = true ;
}
}
#endregion
#region 用券下拉框选项变化事件
private void ddl_Coupon_SelectedIndexChanged(object sender, System.EventArgs e)
{
// 从下拉框中获取礼券金额
string coupon = ddl_Coupon.SelectedItem.Text ;
string[] amount = coupon.Split(new char[] {':'}) ;
int am = CommHandler.StringToInt(amount[1]) ;
if(am !=0 )
{
//如果礼券金额非0,显示在界面上
this.tb_Coupon.Text = am.ToString() ;
}
if(this.tb_TotalPrice.Text != "")
{
//重新计算总价
CalPrice() ;
}
}
#endregion
#region 计算金额
/// <summary>
/// 计算各金额,并显示在界面
/// </summary>
private void CalPrice()
{
double totalprice = 0.0 ;
double freight = 5.0 ;
double prodprice = 0.0 ;
double coupon = 0.0 ;
double discount = 0.0 ;
double realprice = 0.0 ;
//计算货款总额
prodprice = GetProdPrice() ;
//加运费为订单总额
totalprice = prodprice + freight ;
//使用礼券
coupon = CommHandler.StringToDouble(this.tb_Coupon.Text.Trim()) ;
//折扣
discount = CommHandler.StringToDouble(this.tb_Discont.Text.Trim()) / 10 ;
//计算实际金额
realprice = discount * (totalprice - coupon ) ;
this.tb_TotalPrice.Text = totalprice.ToString() ;
this.tb_ProdPrice.Text = prodprice.ToString() ;
this.tb_RealPrice.Text = realprice.ToString() ;
}
/// <summary>
/// 计算货款总额
/// </summary>
/// <returns>货款总额</returns>
private double GetProdPrice()
{
double prodprice = 0.0;
for(int i=0;i<dtCart.Rows.Count;i++)
{
DataRow dr = dtCart.Rows[i] ;
prodprice += CommHandler.StringToDouble(dr["SellPrice"].ToString())
* CommHandler.StringToInt(dr["OrderNum"].ToString()) ;
}
return prodprice ;
}
#endregion
#region 使用礼券
private void UseCoupon()
{
//礼券编号
string cid = this.ddl_Coupon.SelectedValue ;
//调用使用礼券方法
OrderInfo.CouponUse(cid) ;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -