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

📄 shoppingcart.cs

📁 网上购物系统源代码加毕业设计论文
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;

namespace eshop.BLL
{
	/// <summary>
	/// ShoppingCart 的摘要说明。
	/// </summary>
	public class ShoppingCart
	{
		public ShoppingCart()
		{
		}

		public void AddItem(string cartId, int productId, int quantity)
		{

			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId),
									  new SqlParameter("@productId", productId),
									  new SqlParameter("@quantity", quantity)
								  };
			DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure, 
				"ShoppingCartAddItem", para);
		}

		public SqlDataReader GetItems(string cartId)
		{
			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId)
								  };

			return DAL.SQLHelper.ExecuteReader(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure, 
				"ShoppingCartList", para);
		}

		public void MigrateCart(string originalCartId, string newCartId)
		{
			SqlParameter[] para = {
									  new SqlParameter("@originalCartId", originalCartId),
									  new SqlParameter("@newCartId", newCartId)
								  };
			
			DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure,
				"ShoppingCartMigrate", para);
		}


		public void UpdateItem(string cartId, int productId, int quantity)
		{
			if (quantity < 0)
			{
				throw new Exception("Quantity can't be negative");
			}
			
			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId),
									  new SqlParameter("@productId", productId),
									  new SqlParameter("@quantity", quantity)
								  };

			DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure, 
				"ShoppingCartUpdate", para);
		}

		public void RemoveItem( string cartId, int productId)
		{
			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId),
									  new SqlParameter("@productId", productId)
								  };
			DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure, 
				"ShoppingCartRemoveItem", para);
		}

		public int GetItemCount(string cartId)
		{
			object m_DBNull = Convert.DBNull;
			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId),
									  new SqlParameter("@ItemCount", SqlDbType.Int, 4, ParameterDirection.Output,
									  true, 0, 0, "", DataRowVersion.Default, m_DBNull)
								  };
			try
			{
				DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure, 
					"ShoppingCartItemCount", para);
			}
			catch
			{
				throw;
			}

			return Convert.ToInt32(para[1].Value);
		}

		public decimal GetTotal(string cartId)
		{
			//输出参数初始化
			object m_DBNull = Convert.DBNull;

			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId),
									  new SqlParameter("@TotalCost", SqlDbType.Money, 8, ParameterDirection.Output,
									  true, 0, 0, "", DataRowVersion.Default, m_DBNull)
								  };
			try
			{
				DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure,
					"ShoppingCartTotal", para);
			}
			catch
			{
				throw;
			}

			return Convert.ToDecimal(para[1].Value);
		}

		public void EmptyCart(string cartId)
		{
			SqlParameter[] para = {
									  new SqlParameter("@cartId", cartId)
								  };

			DAL.SQLHelper.ExecuteNonQuery(DAL.SQLHelper.CONN_STRING, CommandType.StoredProcedure, 
				"ShoppingCartEmpty", para);
		}

		public String GetShoppingCartId() 
		{

			// 获得HTTP请求的HttpContext实例
			System.Web.HttpContext context = System.Web.HttpContext.Current;
			

			// 如果用户已通过验证,则返回其用户编号作为CartId
			if (context.User.Identity.Name != "") 
			{
				return context.User.Identity.Name;
			}

			// 如果请求用户为匿名,则创建临时的CartId
			if (context.Request.Cookies["eshop_CartID"] != null) 
			{
				return context.Request.Cookies["eshop_CartID"].Value;
			}
			else 
			{
				// 生成GUID
				Guid tempCartId = Guid.NewGuid();

				// 将GUID保存到Cookie
				context.Response.Cookies["eshop_CartID"].Value = tempCartId.ToString();

				// 返回临时CartId
				return tempCartId.ToString();
			}

		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -