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")); }
//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")); }
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")); }
/// <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)); }
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")); }
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)); }
//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)); }
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")); }
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()); }
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)); }
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)); } } }
//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)); }
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")); }
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")); }
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)); }
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)); }