MvcBookStore/Models/shoppingCart.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MvcBookStore.Models
{
public class ShoppingCart:IShoppingCart
{
//存放购物车ID
public string ShoppingCartId { get; set; }
public const string CartSessionKey = "CardId";//定义一个字符串常量,赋值为CardId
//获取临时购物车ID,购物车唯一id
public string GetCartId(HttpContextBase c)
{
//如果Session[CartSessionKey]为空,给其赋值,如果不为空,返回作为唯一的购物车id
if (c.Session[CartSessionKey] == null)
{
if (!string.IsNullOrWhiteSpace(c.User.Identity.Name))//如果已存在当前用户
{
c.Session[CartSessionKey] = c.User.Identity.Name;//将当前用户的标识名称赋值给c.Session[CartSessionKey]
}
else
{
//如果未登录,则生成一个临时的全局变量,赋值给c.Session[CartSessionKey]
Guid tempCartId = Guid.NewGuid();
c.Session[CartSessionKey] = tempCartId.ToString();
}
}
//c.Session[CartSessionKey]赋值给全局变量ShoppingCartId作为购物车标识
ShoppingCartId = c.Session[CartSessionKey].ToString();
return ShoppingCartId;//返回购物车的唯一标识
}
//添加到购物车,数量加1或增加行
public void AddToCart(int id)
{
using (MvcBookStoreEntities db = new MvcBookStoreEntities())
{
//获取购物车中当前用户的这本书的记录
var cartItem = db.Carts.Include("Books").SingleOrDefault(c => c.CartId == ShoppingCartId && c.BookId == id);
if (cartItem == null)//如果不存在这本书的记录,则增加一行
{
cartItem = new Carts
{
BookId = id,
CartId = ShoppingCartId,
Count = 1,
DateCreated = DateTime.Now
};
db.Carts.Add(cartItem);
}
else//否则只需要在原记录的Count字段+1
{
cartItem.Count++;
}
db.SaveChanges();
}
后面还有 155 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。