📄 order.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using COAdmin.BLL ;
using COAdmin.COMMON ;
namespace COAdmin.USL
{
/// <summary>
/// Order 的摘要说明。
/// </summary>
public class Order : System.Web.UI.Page
{
#region 控件和变量
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.TextBox tb_PostCode;
protected System.Web.UI.WebControls.DataGrid dg;
protected System.Web.UI.WebControls.TextBox tb_CrUsr;
protected System.Web.UI.WebControls.TextBox tb_CrDT;
protected System.Web.UI.WebControls.TextBox tb_MdUsr;
protected System.Web.UI.WebControls.TextBox tb_MDDT;
protected System.Web.UI.WebControls.TextBox tb_OrderID;
protected System.Web.UI.WebControls.TextBox tb_RsvName;
protected System.Web.UI.WebControls.TextBox tb_RsvTel;
protected System.Web.UI.WebControls.TextBox tb_RsvAddress;
protected System.Web.UI.WebControls.TextBox tb_TotalPrice;
protected System.Web.UI.WebControls.TextBox tb_Freight;
protected System.Web.UI.WebControls.TextBox tb_ProdPrice;
protected System.Web.UI.WebControls.TextBox tb_GetMoney;
protected System.Web.UI.WebControls.DropDownList ddl_Coupon;
protected System.Web.UI.WebControls.TextBox tb_SendDt;
protected System.Web.UI.WebControls.DropDownList ddl_RsvType;
protected System.Web.UI.WebControls.DropDownList ddl_Status;
protected System.Web.UI.WebControls.DropDownList ddl_PayType;
protected System.Web.UI.WebControls.RequiredFieldValidator R2;
protected System.Web.UI.WebControls.TextBox tb_InovoiceTitle;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.TextBox tb_ProductID;
protected System.Web.UI.WebControls.TextBox tb_UnitPrice;
protected System.Web.UI.WebControls.TextBox tb_SellPrice;
protected System.Web.UI.WebControls.TextBox tb_OrderNum;
protected System.Web.UI.WebControls.TextBox tb_Code;
protected System.Web.UI.WebControls.TextBox tb_ProductName;
protected System.Web.UI.WebControls.Button b_Code;
protected System.Web.UI.WebControls.Button b_OrderHist;
protected System.Web.UI.WebControls.Button b_Save;
protected System.Web.UI.WebControls.Button b_Clear;
protected System.Web.UI.WebControls.Button b_AddCart;
protected System.Web.UI.WebControls.Button b_ModCart;
protected System.Web.UI.WebControls.Button b_DelCart;
protected System.Web.UI.WebControls.RequiredFieldValidator R1;
protected System.Web.UI.HtmlControls.HtmlInputHidden hIndex;
protected System.Web.UI.HtmlControls.HtmlInputHidden hCartID;
protected System.Web.UI.HtmlControls.HtmlInputHidden hODID;
protected System.Web.UI.WebControls.Button b_Delete;
protected System.Web.UI.WebControls.TextBox tb_Discont;
protected System.Web.UI.WebControls.TextBox tb_RealPrice;
protected System.Web.UI.WebControls.TextBox tb_Coupon;
DataTable dtCart=null ;
protected System.Web.UI.WebControls.DropDownList ddl_Leaguer;
protected System.Web.UI.WebControls.CheckBox cb_IsInvoice;
Usr usr = null ;
#endregion
#region Page_Load
private void Page_Load(object sender, System.EventArgs e)
{
usr = COAdminGlobals.LoginUsr ;
if(usr == null)
{
//重定义到登录页面
CommHandler.ReDirURL(Page) ;
}
dtCart = (DataTable)Session["dtCart"] ;
if(dtCart==null)
{
dtCart = this.CreateDtCart() ;
}
if(COAdminGlobals.CustomerID == 0)
{
// 如果客户号为空,重定向到客户登录页面
CommHandler.ReDirURL(Page,"Customer.aspx") ;
}
if(!IsPostBack)
{
//初始化下拉框
InitDDL() ;
string odid = CommHandler.GetRequest(Page,"ODID") ;
if(odid != "")
{
GetOrder(odid) ;
hODID.Value = odid ;
}
else
{
//界面默认显示客户
this.tb_RsvName.Text = COAdminGlobals.CustomerName ;
this.tb_RsvAddress.Text = COAdminGlobals.Address ;
}
}
//表格数据绑定
CommHandler.BindGrid(dg,dtCart) ;
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDDL()
{
//参数
object[] para = new object[] {COAdminGlobals.CustomerID} ;
//送货方式
CommHandler.DDL_Init(this.ddl_RsvType,"RSVTYPE",false) ;
//付款方式
CommHandler.DDL_Init(this.ddl_PayType,"PAYTYPE",false) ;
//订单状态
CommHandler.DDL_Init(this.ddl_Status,"ORDERSTATUS",false) ;
//使用礼券
CommHandler.DDL_Init(this.ddl_Coupon,"CO_COUPON_GetForDDL",para,true) ;
//会员卡
CommHandler.DDL_Init(this.ddl_Leaguer,"CO_Leaguer_GetForDDL",para,false) ;
//会员折扣
if(CommHandler.StringToDouble(ddl_Leaguer.SelectedValue) != 0)
{
this.tb_Discont.Text = ddl_Leaguer.SelectedValue ;
}
//配送费,统一为5元
this.tb_Freight.Text = "5" ;
}
/// <summary>
/// 根据订单号查询订单信息
/// </summary>
/// <param name="odid">订单号</param>
private void GetOrder(string odid)
{
//订单ID
int id = CommHandler.StringToInt(odid) ;
if(id==0)
{
return ;
}
//查询
OrderInfo oi = new OrderInfo() ;
if( oi.GetOrder(id) == 0 )
{
//若查询成功,显示
ShowInfo(oi) ;
}
}
/// <summary>
/// 将订单信息显示在界面
/// </summary>
/// <param name="oi">订单信息对象</param>
private void ShowInfo(OrderInfo oi)
{
this.tb_CrDT.Text = CommHandler.DateTimeToString(oi.CRDT) ;
this.tb_CrUsr.Text = oi.CRUSR ;
this.tb_Freight.Text = oi.Freight.ToString() ;
this.tb_GetMoney.Text = oi.GetMoney.ToString() ;
this.tb_InovoiceTitle.Text = oi.InvoiceTitle ;
this.tb_MDDT.Text = CommHandler.DateTimeToString(oi.MDDT) ;
this.tb_MdUsr.Text = oi.mdusr;
this.tb_OrderID.Text = oi.OrderID.ToString() ;
this.tb_ProdPrice.Text = oi.ProdPrice.ToString() ;
this.tb_RsvAddress.Text = oi.RsvAddress ;
this.tb_RsvName.Text = oi.RsvName ;
this.tb_RsvTel.Text = oi.RsvTel ;
this.tb_SendDt.Text = CommHandler.DateTimeToString(oi.SENDDT) ;
this.tb_TotalPrice.Text = oi.TotalPrice.ToString() ;
this.tb_Coupon.Text = oi.UseCoupon.ToString() ;
// 如果订单使用过礼券,不能再修改礼券信息
if(oi.UseCoupon != 0)
{
this.ddl_Coupon.Enabled = false ;
}
//显示购物车信息
dtCart = Cart.GetCartByOrderID(oi.OrderID) ;
Session["dtCart"] = dtCart ;
}
#endregion
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.b_OrderHist.Click += new System.EventHandler(this.b_OrderHist_Click);
this.b_Save.Click += new System.EventHandler(this.b_Save_Click);
this.b_Delete.Click += new System.EventHandler(this.b_Delete_Click);
this.b_Clear.Click += new System.EventHandler(this.b_Clear_Click);
this.ddl_Coupon.SelectedIndexChanged += new System.EventHandler(this.ddl_Coupon_SelectedIndexChanged);
this.cb_IsInvoice.CheckedChanged += new System.EventHandler(this.cb_IsInvoice_CheckedChanged);
this.b_Code.Click += new System.EventHandler(this.b_Code_Click);
this.b_AddCart.Click += new System.EventHandler(this.b_AddCart_Click);
this.b_ModCart.Click += new System.EventHandler(this.b_ModCart_Click);
this.b_DelCart.Click += new System.EventHandler(this.b_DelCart_Click);
this.dg.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_ItemCommand);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
#region 查看订单历史
private void b_OrderHist_Click(object sender, System.EventArgs e)
{
//先检查用户角色
if(!usr.HasRole("SrchOrder"))
{
CommHandler.Alert(Page,"对不起,您不具备查询订单角色!") ;
return ;
}
//订单历史页面Url
string url = "OrderHist.aspx" ;
//弹出模态对话框
CommHandler.IFrame_PopUp(Page,url,"600","400") ;
}
#endregion
#region 保存订单信息
private void b_Save_Click(object sender, System.EventArgs e)
{
int odid = CommHandler.StringToInt(this.hODID.Value ) ;
OrderInfo oi = new OrderInfo() ;
int ret = 0 ;
if(dtCart.Rows.Count==0)
{
CommHandler.Alert(Page,"保存订单前请添加商品!") ;
return ;
}
if(odid==0)
{
//新建
//先检查用户角色
if(!usr.HasRole("AddOrder"))
{
CommHandler.Alert(Page,"对不起,您不具备新建订单角色!") ;
return ;
}
BindOD(oi) ;
//新建订单状态为订购
oi.Status = "1" ;
ret = oi.AddOrder() ;
if(ret > 0)
{
this.tb_OrderID.Text = ret.ToString() ;
//保存购物车
SaveCart(ret) ;
//使用礼券
if(oi.UseCoupon != 0)
{
UseCoupon() ;
//已使用过之后,不能修改礼券
this.ddl_Coupon.Enabled = false ;
}
CommHandler.Alert(Page,"订单信息添加成功!") ;
return ;
}
}
else
{
//修改
//先检查用户角色
if(!usr.HasRole("ModOrder"))
{
CommHandler.Alert(Page,"对不起,您不具备修改订单角色!") ;
return ;
}
//只能修改订购状态的
if(this.ddl_Status.SelectedValue != "1")
{
CommHandler.Alert(Page,"对不起,已发货的订单不能修改!") ;
return ;
}
BindOD(oi) ;
oi.OrderID = odid ;
ret = oi.ModifyOrder() ;
if(ret > 0)
{
//保存购物车
SaveCart(ret) ;
CommHandler.Alert(Page,"订单信息修改成功!") ;
return ;
}
}
}
/// <summary>
/// 绑定订单基本信息
/// </summary>
/// <param name="oi">订单信息对象</param>
private void BindOD(OrderInfo oi)
{
oi.CRUSR = usr.UserID ;
oi.CustID = COAdminGlobals.CustomerID ;
oi.Discount = this.tb_Discont.Text.Trim() ; //打折
oi.Freight = CommHandler.StringToDouble(this.tb_Freight.Text.Trim()) ;
oi.InvoiceTitle = this.tb_InovoiceTitle.Text ;
oi.IsInvoice = this.cb_IsInvoice.Checked ?"Y":"N" ;
oi.mdusr = usr.UserID ;
oi.PayType = this.ddl_PayType.SelectedValue ;
oi.ProdPrice = CommHandler.StringToDouble(this.tb_ProdPrice.Text.Trim()) ;
oi.RsvAddress = this.tb_RsvAddress.Text ;
oi.RsvName = this.tb_RsvName.Text ;
oi.RsvTel = this.tb_RsvTel.Text ;
oi.RsvType = this.ddl_RsvType.SelectedValue ;
oi.TotalPrice = CommHandler.StringToDouble(this.tb_TotalPrice.Text.Trim()) ;
oi.UseCoupon = CommHandler.StringToInt(tb_Coupon.Text.Trim()) ; //用券
}
#endregion
#region 删除订单
private void b_Delete_Click(object sender, System.EventArgs e)
{
//先检查用户角色
if(!usr.HasRole("DelOrder"))
{
CommHandler.Alert(Page,"对不起,您不具备删除订单角色!") ;
return ;
}
int odid = CommHandler.StringToInt(this.tb_OrderID.Text ) ;
if(odid==0)
{
CommHandler.Alert(Page,"请查询要删除的订单!") ;
return ;
}
//执行删除操作
OrderInfo.DeleteOrder(odid,usr.UserID) ;
}
#endregion
#region 清空画面
private void b_Clear_Click(object sender, System.EventArgs e)
{
//清空购物车部分
ClearCart() ;
dtCart = null ;
dtCart = this.CreateDtCart() ;
//清空订单部分
ClearOD() ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -