public ActionResult SuaGioHang(int MaSP) { //kiểm tra session giỏ hàng tồn tại hay chưa if (Session["GioHang"] == null) { return(RedirectToAction("Index", "Home")); } SanPham sp = db.SanPham.SingleOrDefault(s => s.MaSP == MaSP); if (sp == null) { Response.StatusCode = 404; return(null); } //lấy list giỏ hàng từ session List <IteamGioHang> listGioHang = LayGioHang(); //kiểm tra xem sản phẩm có tồn tại trong giỏ hàng hay chưa IteamGioHang spCheck = listGioHang.SingleOrDefault(s => s.MaSP == MaSP); if (spCheck == null) { return(RedirectToAction("Index", "Home")); } //Lấy List Giỏ Hang tạo giao diện ViewBag.GioHang = listGioHang; return(View(spCheck)); }
public ActionResult ThemGioHangAjax(int MaSP, string strURL) { //kiểm tra sản phẩm có tồn tại trong CSDL hay không SanPham sp = db.SanPham.SingleOrDefault(s => s.MaSP == MaSP); if (sp == null) { // phương thức return về trang 404 Response.StatusCode = 404; return(null); } // nếu sp có tồn tại thì : Lấy giỏ hàng List <IteamGioHang> lstGioHang = LayGioHang(); //kiểm tra 2 bước nếu như sản phẩm có tồn tại trong giỏ hàng này r thì cho trường số lượng ++ lên. nếu chưa có thì khởi tạo nó và cho =1 //th 1: sản phẩm đã tồn tại trong giỏ hàng IteamGioHang spCheck = lstGioHang.SingleOrDefault(s => s.MaSP == MaSP); if (spCheck != null) { //kiểm tra số lượng tồn có nhiều hơn số lượng đặt thì mới cho đặt. không thì thông báo hết cmn hàng if (sp.SoLuongTon < spCheck.SoLuong) { return(Content("<script>alert(\"Sản Phẩm đã hết hàng!\")")); } spCheck.SoLuong++; spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia; ViewBag.TongSoLuong = TongSoLuong(); ViewBag.TongTien = TinhTongTien(); return(PartialView("GioHangPartial")); } IteamGioHang itemgiohang = new IteamGioHang(MaSP); if (sp.SoLuongTon < itemgiohang.SoLuong) { return(Content("<script>alert(\"Sản Phẩm đã hết hàng!\")")); } lstGioHang.Add(itemgiohang); ViewBag.TongSoLuong = TongSoLuong(); ViewBag.TongTien = TinhTongTien(); return(PartialView("GioHangPartial")); }
public ActionResult CapNhapGioHang(IteamGioHang itemGH) { //kiểm tra số lượng tồn SanPham spcheck = db.SanPham.SingleOrDefault(s => s.MaSP == itemGH.MaSP); if (spcheck.SoLuongTon < itemGH.SoLuong) { return(View("ThongBao")); } //Cập Nhập số lượng trong session giỏ hàng //B1: Lấy List<GioHang> từ seesion GioHang List <IteamGioHang> listgiohang = LayGioHang(); //b2: Lấy sp cập nhập từ trong list<GioHang> ra IteamGioHang itemGHupdate = listgiohang.Find(s => s.MaSP == itemGH.MaSP); // cập nhập lại số lượng itemGHupdate.SoLuong = itemGH.SoLuong; // Cập nhập lại số tiền itemGHupdate.ThanhTien = itemGHupdate.SoLuong * itemGHupdate.DonGia; return(RedirectToAction("XemGioHang")); }
//Thêm giỏ hàng thông thường load lại trang (Không hay) 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.SanPham.SingleOrDefault(s => s.MaSP == MaSP); if (sp == null) { // phương thức return về trang 404 Response.StatusCode = 404; return(null); } // nếu sp có tồn tại thì : Lấy giỏ hàng List <IteamGioHang> lstGioHang = LayGioHang(); //kiểm tra 2 bước nếu như sản phẩm có tồn tại trong giỏ hàng này r thì cho trường số lượng ++ lên. nếu chưa có thì khởi tạo nó và cho =1 //th 1: sản phẩm đã tồn tại trong giỏ hàng IteamGioHang spCheck = lstGioHang.SingleOrDefault(s => s.MaSP == MaSP); if (spCheck != null) { //kiểm tra số lượng tồn có nhiều hơn số lượng đặt thì mới cho đặt. không thì thông báo hết cmn hàng if (sp.SoLuongTon < spCheck.SoLuong) { return(View("ThongBao")); } spCheck.SoLuong++; spCheck.ThanhTien = spCheck.SoLuong * spCheck.DonGia; return(Redirect(strURL));// phương thức truyền đường dẫn } IteamGioHang itemgiohang = new IteamGioHang(MaSP); if (sp.SoLuongTon < itemgiohang.SoLuong) { return(View("ThongBao")); } lstGioHang.Add(itemgiohang); return(Redirect(strURL)); }