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