Example #1
0
        public ActionResult CapNhatGioHang(ItemGioHang itemGH)
        {
            // Kiểm tra số lượng tồn
            SanPham spCheck = db.SanPhams.Single(n => n.MaSP == itemGH.MaSP);

            if (spCheck.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }
            // Cập nhật số lượng trong session giỏ hàng
            // Bước 1: Lấy list giỏ hàng từ session giỏ hàng
            List <ItemGioHang> lstGH = LayGioHang();
            // Bước 2: Lấy sản phẩm cần cập nhật từ trong list giỏ hàng ra
            ItemGioHang itemGHUpdate = lstGH.Find(n => n.MaSP == itemGH.MaSP);

            // Bước 3: Tiến hành cập nhật lại số lượng cũng như thành tiền
            itemGHUpdate.SoLuong   = itemGH.SoLuong;
            itemGHUpdate.ThanhTien = itemGHUpdate.SoLuong * itemGHUpdate.DonGia;
            return(RedirectToAction("XemGioHang"));
        }
Example #2
0
        //thêm giỏ hàng ajax
        public ActionResult ThemGioHangAjax(int MaSP, string strURL)
        {
            //Kiển tra Sản phẩm có tông tại trong CSDL   hay không
            SanPham SP = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (SP == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            //lấy giỏ hàng
            List <ItemGioHang> lstGioHang = LayGioHang();
            //trường hợp thứ nhất sản phẩm dẫ tồn tại trong giỏ hàng

            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //kieermt ra trước khi cho khách hàng mua hàng
                if (SP.SoLuongTon < spCheck.SoLuong) //spCheck
                {
                    return(Content("<script> alert(\" Sản phẩm đã hết hàng\")</script>"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien   = spCheck.SoLuong * spCheck.DonGia;
                ViewBag.TongSoLuong = TinhTongSoLuong();
                ViewBag.TongTien    = TinhTongTien();
                return(PartialView("GioHangPartial"));
            }

            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (SP.SoLuongTon < itemGH.SoLuong)//item
            {
                return(Content("<script> alert(\" Sản phẩm đã hết hàng\")</script>"));
            }
            lstGioHang.Add(itemGH);
            ViewBag.TongSoLuong = TinhTongSoLuong();
            ViewBag.TongTien    = TinhTongTien();
            return(PartialView("GioHangPartial"));
        }
Example #3
0
        public ActionResult SaveSessionCart(long Id = 0, int qty = 0)
        {
            ProductDa da = new ProductDa();
            // kiểm tra sản phẩm có tồn tại trong csdl ko
            Product sanpham = da.getProductByID(Id);

            if (sanpham == null)
            {
                // trang đường dẩn ko hợp lệ
                Response.StatusCode = 404;
                return(null);
            }
            // lấy giỏ hàng
            List <ItemGioHang> lstGioHang = LayGioHang();
            // trường hợp đã tồn tại một sản phẩm trong giỏ hàng
            ItemGioHang sanphamcheck = lstGioHang.SingleOrDefault(n => n.IdSanPham == Id);
            int         response     = 0;

            if (sanphamcheck != null)
            {
                //kiểm tra số lượng sản phẩm tồn
                if (sanpham.Quantity < qty)
                {
                    response = -1;
                }
                else
                {
                    sanphamcheck.SoLuong  = qty;
                    sanphamcheck.TienHang = sanphamcheck.SoLuong * sanphamcheck.DonGia;
                    response = 1;
                }
            }

            Session["GioHang"] = lstGioHang;
            double  TongSoLuong = TinhTongSoLuong();
            decimal TotalMoney  = TongTien();

            JsonResult result = Json(new { TongSoLuong = TongSoLuong, TotalMoney = TotalMoney, response = response }, JsonRequestBehavior.AllowGet);

            return(result);
        }
        //thêm giỏ hàng bằng ajax...
        public ActionResult ThemGioHangAJax(int MaSP, string strURL)
        {
            //Kiểm tra sp có tồn tại trong csdl hay không...
            SanPham sp = db.SanPham.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            //Lấy giỏ hàng...
            List <ItemGioHang> lstGioHang = LayGioHang();

            //trường hợp 1: sp đã tồn tại trong giỏ hang...
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //kiểm tra trong kho trước khi khách đặt hàng...
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(Content("<script> alert(\"Sản phẩm đã hết hàng!\")</script>"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien   = spCheck.SoLuong * spCheck.DonGia;
                ViewBag.TongSoLuong = TinhTongSoLuong();
                ViewBag.TongTien    = TinhTongTien();
                return(PartialView("GioHangPartial"));
            }

            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(Content("<script> alert(\"Sản phẩm đã hết hàng!\")</script>"));
            }
            lstGioHang.Add(itemGH);
            ViewBag.TongSoLuong = TinhTongSoLuong();
            ViewBag.TongTien    = TinhTongTien();
            return(PartialView("GioHangPartial"));
        }
        public ActionResult ThemGioHangAjax(int MaSP)
        {
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            //Lấy giỏ hàng
            List <ItemGioHang> lstGioHang = LayGioHang();

            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //Trường hợp 1: sản phẩm đã tồn tại trong giỏ hàng
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(Content("<script>alert(\"Sản phẩm không đủ hàng\");</script>"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia;
                ViewBag.TongSL    = TinhTongSL();
                ViewBag.TongTien  = TinhTongTien().ToString("#,##");
                return(PartialView("GioHangPartial"));
            }
            //Trường hợp 2: sản phẩm chưa tồn tại trong giỏ hàng
            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(Content("<script>alert(\"Sản phẩm không đủ hàng\");</script>"));
            }
            itemGH.SoLuong++;
            itemGH.ThanhTien = itemGH.SoLuong * itemGH.DonGia;
            lstGioHang.Add(itemGH);
            ViewBag.TongSL   = TinhTongSL();
            ViewBag.TongTien = TinhTongTien().ToString("#,##");
            return(PartialView("GioHangPartial"));
        }
        //Thêm giỏ hàng thông thường (Load lại trang)
        public ActionResult ThemGioHang(int MaSP, string strURL)
        {
            //Kiểm tra sản phẩm có tồn tại trong CSDL hay không
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                //TRang đường dẫn không hợp lệ
                Response.StatusCode = 404;
                return(null);
            }
            //Lấy giỏ hàng
            List <ItemGioHang> lstGioHang = LayGioHang();
            //Trường hợp 1 nếu sản phẩm đã tồn tại trong giỏ hàng
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //Kiểm tra số lượng tồn trước khi cho khách hàng mua hàng
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(View("ThongBao"));
                }
                else
                {
                    spCheck.SoLuong++;
                    spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia;
                    return(Redirect(strURL));
                }
            }

            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }

            lstGioHang.Add(itemGH);
            return(Redirect(strURL));
        }
        //Thêm giỏ hàng bằng Ajax
        public ActionResult ThemGioHangAjax(int MaSP)
        {
            //Kiem tra sp co tồn tại trong csdl hay không
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                //trag đương dẫn ko hợp lệ
                Response.StatusCode = 404;
                return(null);
            }
            //Lây giỏ hàng
            List <ItemGioHang> lstGioHang = LayGioHang();
            //Kiểm tra sp đã tồn tại trong giỏ hàng ?
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //kiểm tra sớ lượng tồn trước khi cho khách đặt hàng
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(Content("<script> alert(\"Sản phẩm đã hết hàng!\")</script>"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien   = spCheck.SoLuong * spCheck.DonGia;
                ViewBag.TongSoLuong = TinhTongSoLuong();
                ViewBag.TongTien    = TinhTongTien();
                return(PartialView("GioHangPartial"));
            }

            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(Content("<script> alert(\"Sản phẩm đã hết hàng!\")</script>"));
            }
            lstGioHang.Add(itemGH);
            ViewBag.TongSoLuong = TinhTongSoLuong();
            ViewBag.TongTien    = TinhTongTien();
            return(PartialView("GioHangPartial"));
        }
Example #8
0
        /// <summary>
        /// xóa một Item trong giỏ hàng
        /// </summary>
        /// <param name="maSP"> Mã sản phẩm</param>
        /// <returns></returns>
        public ActionResult DeleteItemCart(int?maSP)
        {
            sanpham sp = db.sanphams.Find(maSP);

            if (sp == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            List <ItemGioHang> cart = Session["cart"] as List <ItemGioHang>;
            ItemGioHang        it   = cart.Find(n => n.MaSP == maSP);

            if (it == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            cart.Remove(it);
            ViewBag.TongTien = TongTien();
            return(PartialView(cart));
        }
Example #9
0
        public ActionResult XoaSanPhamTrongGioHang(int maSP)
        {
            if (Session["GioHang"] == null)
            {
                return(View("Index", "Home"));
            }

            var listGH = LayGioHang();

            ItemGioHang itemCanXoa = listGH.SingleOrDefault(n => n.MaSP == maSP);

            if (itemCanXoa == null)
            {
                return(View("Index", "Home"));
            }

            listGH.Remove(itemCanXoa);

            Session["GioHang"] = listGH;
            return(View("XemGioHang", listGH));
        }
        public ActionResult CapNhatGioHang(ItemGioHang itemGH)
        {
            //Kiểm tra số lượng tồn
            SanPham spCheck = db.SanPhams.SingleOrDefault(n => n.MaSP == itemGH.MaSP);

            if (spCheck.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }

            //Lấy list giỏ hàng trong session
            List <ItemGioHang> lstGH = LayGioHang();
            //Lấy sản phẩm cẩn cập nhập từ lstGH, lưu thành 1 object ItemGioHang mới
            ItemGioHang itemSPUpdate = lstGH.Find(n => n.MaSP == itemGH.MaSP);

            //Update lại số lương sản phẩm
            itemSPUpdate.SoLuong = itemGH.SoLuong;
            //Update lại giá sản phẩm
            itemSPUpdate.ThanhTien = itemSPUpdate.SoLuong * itemSPUpdate.DonGia;
            return(RedirectToAction("XemGioHang"));
        }
        public ActionResult SuaGioHang(int MaSP)
        {
            if (TinhTongSoLuong() == 0)
            {
                ViewBag.TongSoLuong = 0;
                ViewBag.TongTien    = 0;
                return(PartialView());
            }
            ViewBag.TongSoLuong = TinhTongSoLuong();
            ViewBag.TongTien    = TinhTongTien();

            //Kiểm tra Session giỏ hàng tồn tại chưa
            if (Session["GioHang"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            //Kiểm tra sản phẩm có tồn tại trong CSDL hay không
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                //Trang đường dẫn không hợp lệ
                Response.StatusCode = 404;
                return(null);
            }
            //Lấy list giỏ hàng từ Session
            List <ItemGioHang> lstGioHang = LayGioHang();
            //Kiểm tra xem sản phẩm đó có tồn tại trong giỏ hàng hay không
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            //Lấy list giỏ hàng để thiết kế giao diện
            ViewBag.GioHang = lstGioHang;
            //Nếu tồn tại
            return(View(spCheck));
        }
        public ActionResult ThemGioHang(int MaSP, string strURL)
        {
            List <ItemGioHang> listGH = LayGioHang();
            SanPham            sp     = db.SanPham.SingleOrDefault(s => s.MaSp == MaSP);
            ThanhVienTb        tv     = HttpContext.Session.Get <ThanhVienTb>("TaiKhoan");

            if (sp == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            ItemGioHang check = listGH.SingleOrDefault(s => s.MaSP == MaSP);

            if (check == null)
            {
                ItemGioHang item = new ItemGioHang(MaSP);
                if (sp.SoLuongTon < item.SoLuong)
                {
                    return(View("ThongBao"));
                }
                listGH.Add(item);
                if (tv != null)
                {
                    capNhatVaoGioHangTam(tv.MaThanhVien, item.MaSP, 1);
                }

                return(RedirectToAction("GioHangPartial", "GioHang"));
            }
            if (sp.SoLuongTon < check.SoLuong + 1)
            {
                return(View("ThongBao"));
            }
            check.SoLuong++;
            check.SetThanhTien();
            if (tv != null)
            {
                capNhatVaoGioHangTam(tv.MaThanhVien, check.MaSP, check.SoLuong);
            }
            return(RedirectToAction("GioHangPartial", "GioHang"));
        }
Example #13
0
        public ActionResult ThemGioHangAjax(string MaSP, string strURL)
        {
            SanPham sp = db.SanPhams.SingleOrDefault(x => x.MaSP == MaSP);

            if (sp == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            List <ItemGioHang> lstGioHang = LayGioHang();

            ItemGioHang checkSP = lstGioHang.SingleOrDefault(x => x.MaSP == MaSP);

            if (checkSP != null)
            {
                if (sp.SoLuong <= checkSP.SoLuong)
                {
                    return(Content("<script> alert(\"Sản phẩm đã hết hàng!\");</script>"));
                }
                checkSP.SoLuong++;
                checkSP.ThanhTien   = checkSP.SoLuong * checkSP.DonGia;
                ViewBag.TongSoLuong = TinhTongSoLuong();
                ViewBag.TongTien    = TinhTongTien();

                return(PartialView("GioHangPartial", lstGioHang));
            }

            ItemGioHang newItem = new ItemGioHang(MaSP);

            if (sp.SoLuong <= newItem.SoLuong)
            {
                return(Content("<script> alert(\"Sản phẩm đã hết hàng!\");</script>"));
            }

            lstGioHang.Add(newItem);
            ViewBag.TongSoLuong = TinhTongSoLuong();
            ViewBag.TongTien    = TinhTongTien();

            return(PartialView("GioHangPartial", lstGioHang));
        }
Example #14
0
        //THem gio hang thong thuong (load lai trang)
        public ActionResult ThemGioHang(int MaSP, string strURL)
        {
            //Ktra sp co ton tai trong CSDL ko
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                //Trang duong dan khong hop le
                Response.StatusCode = 404;
                return(null);
            }
            //lay gio hang
            List <ItemGioHang> lstGioHang = LayGioHang();

            // Neu sp da ton tai trong gio hang
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //ktra số lượng tồn trc khi cho khách mua hàng
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(View("ThongBao"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia;
                return(Redirect(strURL));
            }

            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }

            lstGioHang.Add(itemGH);
            return(Redirect(strURL));
        }
Example #15
0
        public ActionResult CapNhatGioHang(ItemGioHang itemGH)
        {
            //ktra so luong ton
            SanPham spCheck = db.SanPhams.Single(n => n.MaSP == itemGH.MaSP);

            if (spCheck.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }
            //cap nhat so luong trong session gio hang
            //B1: lay List<GioHang> tu session["Giohang"]
            List <ItemGioHang> lstGH = LayGioHang();
            //B2: Lay sp can cap nhat tu trong List<GioHang> ra
            ItemGioHang itemGHUpdate = lstGH.Find(n => n.MaSP == itemGH.MaSP);

            //B3: Cap nhat lai so luong  va thanh tien
            itemGHUpdate.SoLuong   = itemGH.SoLuong;
            itemGHUpdate.ThanhTien = itemGHUpdate.SoLuong * itemGHUpdate.DonGia;

            //return RedirectToAction("SuaGioHang", new { @MaSP = itemGH.MaSP });
            return(RedirectToAction("XemGioHang"));
        }
        //Them Gio Hang thông thường bằng Ajax
        public ActionResult ThemGioHangAjax(string strUrl, FormCollection f)
        {
            int MaLH = int.Parse(f["LopHoc"].ToString());

            //Kiểm tra sán phẩm có trong csdl hay không
            LOPHOC lh = db.LOPHOC.SingleOrDefault(n => n.MA_LH == MaLH);

            if (lh == null)
            {
                //trang đường dẫn không hợp lệ
                Response.StatusCode = 404;
                return(null);
            }

            //Lấy giỏ hàng
            List <ItemGioHang> listGioHang = getGioHang();
            //Trường hợp 1 nếu sản phẩm đã tồn tại trong giỏ hàng
            ItemGioHang spCheck = listGioHang.SingleOrDefault(n => n.Ma_Lop_Hoc == MaLH);

            if (spCheck != null)
            {
                spCheck.SL++;
                spCheck.Tong_Tien = spCheck.SL * spCheck.Hoc_Phi;

                ViewBag.TongSoLuong = TinhTongSl();
                ViewBag.TongTien    = TinhTongTien();

                return(PartialView("GioHangPartial"));
            }

            ItemGioHang itemGH = new ItemGioHang(MaLH);

            listGioHang.Add(itemGH);

            ViewBag.TongSoLuong = TinhTongSl();
            ViewBag.TongTien    = TinhTongTien();

            return(PartialView("GioHangPartial"));
        }
Example #17
0
        public ActionResult CapNhatGioHang(ItemGioHang itemGH)
        {
            //kiểm tra số lượng tồn tiếp
            SanPham spCheck = db.SanPhams.SingleOrDefault(n => n.MaSP == itemGH.MaSP);

            if (spCheck.SoluongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }
            // Cập nhật Session giỏ hàng
            List <ItemGioHang> lstGH      = LayGioHang();
            ItemGioHang        itemUpdate = lstGH.SingleOrDefault(n => n.MaSP == itemGH.MaSP);

            itemUpdate.SoLuong = itemGH.SoLuong;
            //if(itemUpdate.SoLuong==itemGH.SoLuong)
            //{
            //   itemUpdate.SoLuong
            //}
            itemUpdate.ThanhTien = itemUpdate.SoLuong * itemUpdate.DonGia;

            return(RedirectToAction("SuaGioHang", new { @MaSP = itemGH.MaSP }));
        }
        //Thêm giỏ hàng dùng reload, không dùng ajax
        public ActionResult ThemGioHang(int MaSP, string strURL)
        {
            //Kiểm tra sản phẩm có tồn tại hay không
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                Response.StatusCode = 404;
                return(null);
            }

            //Tạo list giỏ hàng (thực ra là lấy giỏ hàng ra ngoài)
            List <ItemGioHang> lstGioHang = LayGioHang();
            //Trường hợp sản phẩm đã tồn tại trong giỏ hàng
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                if (spCheck.SoLuong > sp.SoLuongTon)
                {
                    return(View("ThongBao"));
                }

                //Tăng số lượng và tính lại giá trị tiền
                spCheck.SoLuong++;
                spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia;
                return(Redirect(strURL));
            }

            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (itemGH.SoLuong > sp.SoLuongTon)
            {
                return(View("ThongBao"));
            }

            lstGioHang.Add(itemGH);
            return(Redirect(strURL));
        }
        public ActionResult CapNhatGioHang(ItemGioHang itemGH)
        {
            //kiểm tra số lượng tồn
            Book bookCheck = db.Books.Single(s => s.BookID == itemGH.BookID);

            if (bookCheck.Quantity < itemGH.Quantity)
            {
                return(View("ThongBao"));
            }

            //cập nhật số lượng trong sesion giỏ hàng
            //B1:Lấy List<GioHang> tu session["GioHang"]
            List <ItemGioHang> listGH = LayGioHang();
            //b2: Lấy sản phẩm cần cập nhật từ trong list giỏ hàng ra
            ItemGioHang itemGHUpdate = listGH.Find(s => s.BookID == itemGH.BookID);

            //b3:cập nhật lại số lượng và thành tiền
            itemGHUpdate.Quantity   = itemGH.Quantity;
            itemGHUpdate.TotalPrice = itemGHUpdate.Quantity * itemGHUpdate.Price;

            return(RedirectToAction("XemGioHang"));
        }
        public ActionResult ContentGioHangPartial(int maDH = 0, int soLuong = 0, int delMaDH = 0)
        {
            if (Session["GioHang"] == null || Session["MaKH"] == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            GioHang gioHang = Session["GioHang"] as GioHang;

            // Xử lý cập nhật số lượng đồng hồ
            if (gioHang.ListItems.Find(i => i.MaDH == maDH) != null)
            {
                gioHang.ListItems.Find(i => i.MaDH == maDH).SoLuong = soLuong;
            }
            // Xử lý xoá đồng hồ khỏi giỏ hàng
            ItemGioHang delItem = gioHang.ListItems.Find(i => i.MaDH == delMaDH);

            if (delItem != null)
            {
                gioHang.ListItems.Remove(delItem);
            }
            return(PartialView());
        }
Example #21
0
        public ActionResult CapNhatGioHang(ItemGioHang itemGH)
        {
            //Kiểm tra số lượng tồn
            SanPham spCheck = db.SanPhams.SingleOrDefault(n => n.MaSP == itemGH.MaSP);

            if (spCheck.SoLuongTon < itemGH.SoLuong)
            {
                return(View("View"));
            }
            // cập nhật số lượng trong session giỏ hàng
            // bước 1: lấy list<GioHang> từ sesstion["GioHang"]
            List <ItemGioHang> lstGH = LayGioHang();
            //bước 2: lấy sản phẩm cần cập nhật từ trong list<GIoHang>
            ItemGioHang itemGHUpdate = lstGH.Find(n => n.MaSP == itemGH.MaSP);

            // bước 3: tiến hành cập nhập lại số lượng và thành tiền
            itemGHUpdate.SoLuong   = itemGH.SoLuong;
            itemGHUpdate.ThanhTien = itemGHUpdate.SoLuong * itemGHUpdate.DonGia;


            return(RedirectToAction("XemGioHang"));
        }
        //Thêm giỏ hàng thông thường (Load lại trang)
        public ActionResult ThemGioHang(int MaSP, String url)
        {
            //Kiểm tra sản phẩm có tồn tại trong CSDL hay không
            SANPHAM sp = db.SANPHAMs.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)
            {
                //Trang đường dẫn không hợp lệ
                Response.StatusCode = 404;
                return(null);
            }

            List <ItemGioHang> lstGioHang = layGioHang();

            //Trường hợp 1 sản phẩm đã tồn tại trong giỏ hàng
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(View("ThongBao"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia;
                return(Redirect(url));
            }


            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }
            lstGioHang.Add(itemGH);
            return(Redirect(url));
        }
        public string AddGioHang(int addMaDH = 0, int soLuong = 0)
        {
            if (addMaDH != 0)
            {
                DongHo      dongHo = db.DongHoes.Find(addMaDH);
                ItemGioHang item   = new ItemGioHang()
                {
                    MaDH    = dongHo.MaDH,
                    TenDH   = dongHo.TenDH,
                    Gia     = dongHo.GiaBan,
                    AnhURL  = dongHo.AnhChinhURL,
                    SoLuong = soLuong
                };
                GioHang gioHang = Session["GioHang"] as GioHang;
                if (gioHang.ListItems.Find(i => i.MaDH == item.MaDH) == null)
                {
                    gioHang.ListItems.Add(item);
                }
                else
                {
                    gioHang.ListItems.Find(i => i.MaDH == item.MaDH).SoLuong += soLuong;
                }
            }
            else
            {
                if (Session["GioHang"] == null)
                {
                    return("0");
                }
            }
            int tongSoLuong = 0;

            foreach (var item in ((GioHang)Session["GioHang"]).ListItems)
            {
                tongSoLuong += item.SoLuong;
            }
            return(tongSoLuong.ToString());;
        }
        //thêm giỏ hàng

        public ActionResult ThemGioHang(int _BookID, string urlPath)
        {
            //kiểm tra sách có tồn tại trong CSDL không
            Book book = db.Books.Single(s => s.BookID == _BookID);

            //nếu sách k tồn tại >> đưa về trang 404
            if (book == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            //nếu tồn tại >> lấy giỏ hàng ra
            List <ItemGioHang> listGioHang = LayGioHang();
            //1: sách đã có trong giỏ hàng
            ItemGioHang isExistedBook = listGioHang.SingleOrDefault(s => s.BookID == _BookID);

            if (isExistedBook != null)
            {
                //kiểm tra số lượng tồn <= số lượng trong giỏ hàng
                if (book.Quantity <= isExistedBook.Quantity)
                {
                    return(View("ThongBao"));
                }
                isExistedBook.Quantity++;
                isExistedBook.TotalPrice = isExistedBook.Quantity * isExistedBook.Price;
                return(Redirect(urlPath));
            }
            //2: sách chưa có trong giỏ >> thêm sách mới với số lượng =1

            ItemGioHang itemGH = new ItemGioHang(_BookID);

            if (book.Quantity <= itemGH.Quantity)
            {
                return(View("ThongBao"));
            }
            listGioHang.Add(itemGH);
            return(Redirect(urlPath));
        }
Example #25
0
        public ActionResult ThemGioHang(int MaSP, string strUrl)
        {
            // kiểm tra sp có trong csdl hay không
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            if (sp == null)// không thì báo lỗi
            {
                Response.StatusCode = 404;
                return(null);
            }
            //Còn có thì lấy giỏ hàng ra
            List <ItemGioHang> lstGioHang = LayGioHang();// lấy đc giỏ hàng đã đc gán session
            // Kiểm tra Sp đã tồn tại trong list giỏ hàng k
            ItemGioHang ItemDaCoGioHang = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (ItemDaCoGioHang != null)// Nếu có thì tính các sản phẩm
            {
                if (sp.SoluongTon < ItemDaCoGioHang.SoLuong)
                {
                    return(View("ThongBao"));
                }
                ItemDaCoGioHang.SoLuong++;
                ItemDaCoGioHang.ThanhTien = ItemDaCoGioHang.DonGia * ItemDaCoGioHang.SoLuong;
                return(Redirect(strUrl));
            }
            else
            {// chưa tồn tại thì tạo
                ItemGioHang itemGH = new ItemGioHang(MaSP);
                if (sp.SoluongTon < itemGH.SoLuong)
                {
                    return(View("ThongBao"));
                }
                {
                    lstGioHang.Add(itemGH);
                    return(Redirect(strUrl));
                }
            }
        }
Example #26
0
        //Them Gio Hang
        public ActionResult ThemGioHang(int MaSP, string url)
        {
            //Kiem tra san pham co ton tai hay khong
            SanPham sp = db.SanPham.SingleOrDefault(x => x.MaSP == MaSP);

            if (sp == null)
            {
                //trỏ ddeen duong dan khong hop le
                Response.StatusCode = 404;
                return(null);
            }
            //Lay giỏ hàng
            List <ItemGioHang> lst = LayGioHang();
            //TH1:Sp da tồn tai trong giỏ hàng
            ItemGioHang spcheck = lst.SingleOrDefault(x => x.MaSP == MaSP);

            if (spcheck != null)
            {
                if (sp.SoLuongTon < spcheck.SoLuong)
                {
                    return(View("ThongBao"));
                }
                spcheck.SoLuong++;
                spcheck.ThanhTien = (decimal)(spcheck.SoLuong * spcheck.DonGia);
                return(Redirect(url));
            }
            //Kiem tra so lượng hàng tồn với hàng đặt

            //chua tồn tại =>thêm  1 sp mới
            ItemGioHang itemGH = new ItemGioHang(MaSP);

            if (sp.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }
            lst.Add(itemGH);
            return(Redirect(url));
        }
Example #27
0
        public ActionResult XoaGioHang(int Masach)
        {
            if (Session["GioHang"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Book sach = db.Books.SingleOrDefault(n => n.ID == Masach);

            if (sach == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            List <ItemGioHang> lstGioHang = LayGioHang();
            ItemGioHang        sachCheck  = lstGioHang.SingleOrDefault(n => n.ID == Masach);

            if (sachCheck == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            lstGioHang.Remove(sachCheck);
            return(RedirectToAction("XemGioHang"));
        }
Example #28
0
        public ActionResult CapNhatGioHang(ItemGioHang itemGH, FormCollection f)
        {
            // kiểm tra số lượng tồn
            SanPham sanphamcheck = db.SanPhams.SingleOrDefault(n => n.IdSanPham == itemGH.IdSanPham);

            if (sanphamcheck.SoLuongTon < itemGH.SoLuong)
            {
                return(View("ThongBao"));
            }
            // cập nhật số lượng trong session giỏ hàng
            List <ItemGioHang> lstGH = LayGioHang();
            // lấy sản phẩm cập nhật từ  trong list<GioHang>
            ItemGioHang itemGHUpdate = lstGH.Find(n => n.IdSanPham == itemGH.IdSanPham);

            if (itemGHUpdate != null)
            {
                itemGH.SoLuong = int.Parse(f["txtsoluong"].ToString());
            }
            // cập nhật lại số lượng và tổng tiền
            itemGHUpdate.SoLuong  = itemGH.SoLuong;
            itemGHUpdate.TongTien = itemGHUpdate.SoLuong * itemGHUpdate.DonGia;
            return(RedirectToAction("XemGioHang"));
        }
Example #29
0
        public ActionResult SuaGioHang(int maSP, FormCollection frm)
        {
            var soLuongNew = Convert.ToInt32(frm["soLuong"]);

            if (Session["GioHang"] == null)
            {
                return(View("Index", "Home"));
            }

            var         listGH       = LayGioHang();
            ItemGioHang itemChinhSua = listGH.SingleOrDefault(n => n.MaSP == maSP);

            if (itemChinhSua == null)
            {
                return(View("Index", "Home"));
            }

            itemChinhSua.SoLuong   = soLuongNew;
            itemChinhSua.ThanhTien = itemChinhSua.DonGia * soLuongNew;

            Session["GioHang"] = listGH;
            return(View("XemGioHang", listGH));
        }
Example #30
0
        public ActionResult CongSP(int MaSP, string strURL)
        {
            //Kiểm tra sp có tồn tại trong SCDL hay không
            SanPham sp = db.SanPhams.SingleOrDefault(n => n.MaSP == MaSP);

            //Lấy giỏ hàng
            List <ItemGioHang> lstGioHang = LayGioHang();
            //Trường hợp sp đã tồn tại trong giỏ hàng
            ItemGioHang spCheck = lstGioHang.SingleOrDefault(n => n.MaSP == MaSP);

            if (spCheck != null)
            {
                //Kiểm tra số lượng tồn trước khi cho khác mua hàng
                if (sp.SoLuongTon < spCheck.SoLuong)
                {
                    return(View("ThongBao", "GioHang"));
                }
                spCheck.SoLuong++;
                spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia;
                return(Redirect(strURL));
            }
            return(Redirect(strURL));
        }