⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 order.aspx.cs

📁 人力资源管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
		/// <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 + -