/// <summary> /// hàm thực hiện lưu tổng tiền từ bảng ctHoaDonTam vào session /// </summary> /// <param name="maBan"></param> /// <param name="db"></param> /// <returns></returns> private void luuTongTienVaoSession(hoaDonTam hdTam) { cartHoaDonTam tongTien = (cartHoaDonTam)Session["hoaDonTam"]; tongTien.tongTienDtb = (long)hdTam.tongTien; Session["hoaDonTam"] = tongTien; }
void Session_Start(object sender, EventArgs e) { //--Tạo session object chứa chi tiết công thức pha chế Session["congThuc"] = new cartCongThuc(); //--Tạo session object chứa thông tin chi tiết phiếu nhập kho Session["ctNhapKho"] = new cartNhapKho(); //--Tạo session object chứa thông tin chi tiết của hóa đơn tạm Session["hoaDonTam"] = new cartHoaDonTam(); //--Tạo session lưu đường dẫn và request Session["urlAction"] = ""; //--Tạo session object chứa thông tin chi tiết phiếu xuất kho Session["ctXuatKho"] = new cartXuatKho(); //--Tạo session object chứa thông tin nguyên liệu cần kiểm kho Session["truocKiemKho"] = new cartKiemKho(); //--Tạo session object chứa thông tin nguyên liệu đã kiểm Session["sauKiemKho"] = new cartKiemKho(); //--Tạo session chứa danh sách các trang được phép truy cập Session["quyenHan"] = new cartQuyenHan(); //--Tạo session chứa thông tin chi tiết điều phối Session["dieuPhoi"] = new cartDieuPhoi(); //--Tạo session chứa object các mục tiêu chưa đánh giá Session["chuaDanhGia"] = new cartMucTieu(); //--Tạo session chứa object các mục tiêu đã đánh giá Session["daDanhGia"] = new cartDanhGia(); //--Tạo session object chứa thông tin người dùng đăng nhập hệ thống Session["login"] = new taiKhoan(); //--Tạo session object chứa các bàn đã đặt Session["datBan"] = new cartDatBan(); }
//--------------DELETE---------------------- /// <summary> /// Hàm thực hiện xóa 1 sản phẩm khỏi giỏ /// </summary> /// <param name="param">Mã sản phẩm cần xóa</param> /// <returns>Chuỗi html danh sách sản phẩm còn lại trong giỏ</returns> public string AjaxXoaMotSanPhamKhoiGio(int param) { string html = ""; if (xulyChung.duocCapNhat(idOfPage, "7")) { try { cartHoaDonTam cart = (cartHoaDonTam)Session["hoaDonTam"]; //------Kiểm tra xem sản phẩm có trong cart chưa ctHoaDonTam ct = cart.getItem(param); if (ct != null) { long donGia = ct.donGia; //----Thực hiện xóa khỏi cart cart.removeItem(ct); //-----Cập nhật lại Session Session["hoaDonTam"] = cart; } html += this.taoBangChiTietTuSession(cart.getList(), cart.tongTienDtb + cart.getTotalAmount()); } catch (Exception ex) { xulyFile.ghiLoi("Class: NghiepVuBanController - Fucntion: AjaxThemSanPhamVaoGio", ex.Message); } } return(html); }
//-----------------UPDATE---------------- /// <summary> /// Hàm thực hiện cập nhật lại số lượng chọn sản phẩm trong session /// </summary> /// <param name="param">Tham số có dạng: maSP|soLuong</param> /// <returns>Chuỗi html danh sách sản phẩm và đơn giá của sản phẩm cập nhật</returns> public string AjaxUpdateSoLuongSanPhamTrongGio(string param) { cartHoaDonTam cart = (cartHoaDonTam)Session["hoaDonTam"]; if (xulyChung.duocCapNhat(idOfPage, "7")) { try { int maSP = xulyDuLieu.doiChuoiSangInteger(param.Split('|')[0]); int soLuong = xulyDuLieu.doiChuoiSangInteger(param.Split('|')[1]); ctHoaDonTam ct = cart.getItem(maSP); if (ct != null) { ct.soLuong = soLuong; cart.updateItem(ct); Session["hoaDonTam"] = cart; } } catch (Exception ex) { xulyFile.ghiLoi("Class: NghiepVuBanController - Fucntion: AjaxUpdateSoLuongSanPhamTrongGio", ex.Message); } } return(this.taoBangChiTietTuSession(cart.getList(), cart.getTotalAmount() + cart.tongTienDtb)); }
/// <summary> /// Hàm tạo bảng dữ liệu từ table ctHoaDonTam trong database theo mã bàn hóa đơn /// </summary> /// <param name="list"></param> /// <returns>Trả về chuỗi html tạo nên bảng và số tổng tiền </returns> private string taoBangChiTietTuDatabase(hoaDonTam hoaDon) { string html = ""; try { html += this.taoBangDanhSachSanPhamDaOrder(hoaDon.ctHoaDonTams.ToList(), "txtSoLuong", "btnUpdateDtb", "btnRemoveDtb"); //--------Lấy tổng tiền trong bảng hoaDonTam có trong session cartHoaDonTam tongTien = (cartHoaDonTam)Session["hoaDonTam"]; //--------Hiện tổng số tiền của hóa đơn html += "<div class=\"col-md-9\" id=\"divTongTien\" style=\"display:block\"><p class=\"font-16 font-bold col-pink\">Tạm tính: <i>" + xulyDuLieu.doiVND(tongTien.tongTienDtb) + " </p></div>"; } catch (Exception ex) { xulyFile.ghiLoi("Class: NghiepVuBanController - Fucntion: taoBangChiTietTuDatabase", ex.Message); } return(html); }
//------------------CREATE---------- /// <summary> /// Hàm thêm sản phẩm vào cart hoaDonTam trong session /// </summary> /// <param name="param">Mã sản phẩm cần add</param> /// <returns>Trả về danh sách sản phẩm có trong sesion</returns> public string AjaxThemSanPhamVaoGio(int param) { string htmlListOrder = ""; if (xulyChung.duocCapNhat(idOfPage, "7")) { try { cartHoaDonTam cart = (cartHoaDonTam)Session["hoaDonTam"]; //------Lấy thông tin sản phẩm để thêm vào chi tiết sanPham sp = new qlCaPheEntities().sanPhams.SingleOrDefault(s => s.maSanPham == param); //------Kiểm tra xem sản phẩm có trong cart chưa ctHoaDonTam ct = cart.getItem(param); if (ct == null) { //-----TẠO MỚI ct = new ctHoaDonTam(); ct.maCtTam = param; //----Lấy mã sản phẩm làm key trong trường hợp nếu có sản phẩm trùng thì tăng số lượng ct.maSP = param; ct.donGia = sp.donGia; ct.soLuong = 1; ct.trangThaiPhaChe = 0;//Thiết lập trạng thái vừa tiếp nhận ct.sanPham = sp; cart.addCart(ct); } else //------Nếu như đã có sản phẩm trong cart. TĂNG SỐ LƯỢNG { ct.soLuong++; cart.updateItem(ct); } Session["hoaDonTam"] = cart; htmlListOrder = this.taoBangChiTietTuSession(cart.getList(), cart.tongTienDtb + cart.getTotalAmount()); } catch (Exception ex) { xulyFile.ghiLoi("Class: NghiepVuBanController - Fucntion: AjaxThemSanPhamVaoGio", ex.Message); Response.Redirect("http://localhost:54272/Home/h_AccessDenied"); } } return(htmlListOrder); }
//------------------Cập nhật trạng thái sang 1---------------- /// <summary> /// Hám thực hiện thêm dữ liệu vào bảng chi tiết hóa đơn trong database <para/> /// Khi hoàn tất order /// </summary> /// <param name="param">Chuỗi chứa mã bàn cần cập nhật và ghi chú <para/> VD: 12|GhiChu</param> /// <returns></returns> public void AjaxThemChiTietHoaDon(string param) { if (xulyChung.duocCapNhat(idOfPage, "7")) { try { cartHoaDonTam cart = (cartHoaDonTam)Session["hoaDonTam"]; if (cart.Item.Count > 0)//Kiểm tra xem có sản phẩm trên session. Nếu có mới cho thêm { int kqLuu = 0; int maBan = xulyDuLieu.doiChuoiSangInteger(param.Split('|')[0]); bNghiepVuBan bNghiepVu = new bNghiepVuBan(); //--------cập nhật trạng thái hóa đơn tạm sang đã order long tongTien = cart.tongTienDtb + cart.getTotalAmount(); kqLuu = bNghiepVu.capNhatDaOrder(maBan, tongTien, xulyDuLieu.xulyKyTuHTML(param.Split('|')[1])); if (kqLuu > -1) //----Nhận order thành công { int soLuongItem = cart.getList().Count; foreach (ctHoaDonTam ctSession in cart.getList()) { //---KqLuu tăng lên sau mỗi lần cập nhật thành công kqLuu += bNghiepVu.themChiTietHoaDonTam(maBan, ctSession.maSP, ctSession.donGia, ctSession.soLuong, ctSession.trangThaiPhaChe); } //----Nếu kqLuu lớn hơn số lần thêm chi tiết thành công và số lần cập nhật trạng thái if (kqLuu > soLuongItem) { this.resetData();//Xóa tất cả dữ liệu trong session xulyChung.ghiNhatKyDtb(2, "Nhận đặt hàng tại bàn"); } } } } catch (Exception ex) { xulyFile.ghiLoi("Class: NghiepVuBanController - Function: AjaxThemChiTietHoaDon", ex.Message); } } }