예제 #1
0
        public ActionResult PurchaseInfo()
        {
            var ninfo = new Dictionary<long, int>();
            var sp = new 购物车.选购商品();
            var listsp = new List<购物车.选购商品>();

            if (Session["Ginfo"] != null)
            {
                var ginfo = Session["Ginfo"].ToString();
                string[] info = ginfo.Split('|');
                for (int i = 0; i < info.Length - 1; i++)
                {
                    sp.商品.商品ID = long.Parse(info[i].Split(',')[0]);
                    sp.数量 = int.Parse(info[i].Split(',')[1]);
                    listsp.Add(sp);
                    ninfo.Add(long.Parse(info[i].Split(',')[0]), int.Parse(info[i].Split(',')[1]));
                }
            }

            //如果用户登录且为个人用户就将数据写入数据库
            if (HttpContext.检查登录() != -1 && currentUser.GetType() == typeof(个人用户))
            {
                var shopcar = 购物车管理.查询购物车(0, 0, Query<购物车>.Where(o => o.所属用户.用户ID == currentUser.Id));

                //判断数据库有该用户的购物车
                if (shopcar.Any())
                {
                    shopcar.First().选购商品列表 = shopcar.First().选购商品列表.Concat(listsp).ToList();
                    购物车管理.更新购物车(shopcar.First());
                }
                else
                {
                    var car = new 购物车();
                    car.所属用户.用户ID = currentUser.Id;
                    car.选购商品列表 = car.选购商品列表.Concat(listsp).ToList();
                    购物车管理.添加购物车(car);
                }
            }

            return View(ninfo);
        }
 /// <summary>
 /// 购物车页面
 /// </summary>
 /// <returns></returns>
 public ActionResult ShopCar()
 {
     var cars = 购物车管理.查询购物车(0, 0, Query<购物车>.Where(o => o.所属用户.用户ID == currentUser.Id));
     var goodsInCar = new List<购物车.选购商品>();
     if (cars.Any() && cars.Count() > 0)
     {
         //如果未登录时添加了商品到临时购物车,在用户登录后就将临时购物车里面的商品添加进该用户的购物车并保存至数据库
         if (Session["Ginfo"] != null)
         {
             var ginfo = Session["Ginfo"].ToString();
             string[] info = ginfo.Split('|');
             var df = new 购物车.选购商品();
             for (int i = 0; i < info.Length - 1; i++)
             {
                 df.商品.商品ID = long.Parse(info[i].Split(',')[0]);
                 df.数量 = int.Parse(info[i].Split(',')[1]);
                 cars.First().选购商品列表.Add(df);
             }
             购物车管理.更新购物车(cars.First());
         }
         goodsInCar = cars.First().选购商品列表;
     }
     return View(goodsInCar);
 }
예제 #3
0
        public int AddGoodInfo()
        {
            try
            {
                string count = Request.QueryString["num"];
                string id = Request.QueryString["id"];

                //如果用户登录且为个人用户就将数据写入数据库
                if (HttpContext.检查登录() != -1 && currentUser.GetType() == typeof(个人用户))
                {
                    var shopcar = 购物车管理.查询购物车(0, 0, Query<购物车>.Where(o => o.所属用户.用户ID == currentUser.Id));
                    var sp = new 购物车.选购商品();
                    sp.商品.商品ID = long.Parse(id);
                    sp.数量 = int.Parse(count);
                    //判断数据库有该用户的购物车
                    if (shopcar.Any())
                    {
                        var df = shopcar.First();
                        df.选购商品列表.Add(sp);
                        购物车管理.更新购物车(df);
                    }
                    else
                    {
                        var car = new 购物车();
                        car.所属用户.用户ID = currentUser.Id;
                        car.选购商品列表.Add(sp);
                        购物车管理.添加购物车(car);
                    }
                }
                if (Session["Ginfo"] != null)
                {
                    string ginfo = Session["Ginfo"].ToString();
                    if (!ginfo.Contains(id))
                    {
                        Session["Ginfo"] += id + "," + count + "|";
                    }
                }
                else
                {
                    Session["Ginfo"] += id + "," + count + "|";
                }

                return 1;
            }
            catch
            {
                return -1;
            }
        }