/// <summary>
        /// Hàm thực hiện thêm nguyên liệu vào Session chứa chi tiết phiếu nhập kho
        /// </summary>
        /// <param name="duLieu">Chuỗi dữ liệu nhận từ giao diện</param>
        /// <returns></returns>
        public string AjaxThemChiTietVaTraVeBang(string duLieu)
        {
            string kq = ""; double tongTienNhap = 0;

            if (xulyChung.duocCapNhat(idOfPage, "7"))
            {
                cartXuatKho cart = (cartXuatKho)Session["ctXuatKho"];
                try
                {
                    ctPhieuXuatKho chiTietAdd = new ctPhieuXuatKho();
                    this.layDuLieuTuViewChiTiet(chiTietAdd, duLieu);
                    //------Thêm chi tiết vào session
                    cart.addCart(chiTietAdd);
                    //Cập nhật lại session
                    Session["ctXuatKho"] = cart;
                    tongTienNhap         = cart.getTotalPrice();
                }
                catch (Exception ex)
                {
                    xulyFile.ghiLoi("Class XuatKhoController - Function: themChiTietVaTraVeBang", ex.Message);
                }
                kq += taoBangChiTietTuSession();        //------Tạo lại bảng danh sách các bước có trong session và hiện lên giao diện
            }
            return(kq + "|" + tongTienNhap.ToString()); //-------Trả về chuỗi html tạo nên bảng và chuỗi nội dung thông báo. Sau đó cắt ra và hiện lên giao diện
        }
        /// <summary>
        /// Hàm tạo dữ liệu cho bảng chi tiết nguyên liệu trên phiếu và hiện lên giao diện
        /// </summary>
        /// <returns></returns>
        public string taoBangChiTietTuSession()
        {
            string kq = "";

            try
            {
                //---Lấy dữ liệu từ cart
                cartXuatKho cart = (cartXuatKho)Session["ctXuatKho"]; bNguyenLieu bNguyenLieu = new Models.Business.bNguyenLieu();
                kq += "<table class=\"table table-hover\">";
                kq += "     <thead>";
                kq += "         <tr>";
                //----Tạo tiêu đề cho bảng chi tiết
                kq += "             <th>Tên nguyên liệu</th><th>Số lượng</th><th>Đơn giá xuất</th><th>Chức năng</th>";
                kq += "         </tr>";
                kq += "     </thead>";
                kq += "     <tbody>";
                foreach (ctPhieuXuatKho ct in cart.Item.Values) //--------Lặp qua từng phần tử có trong Session
                {
                    kq += "         <tr>";
                    kq += "             <td>";
                    kq += "                 <img width=\"50px\" height=\"auto;\" src=\"" + xulyDuLieu.chuyenByteHinhThanhSrcImage(ct.nguyenLieu.hinhAnh) + "\">";
                    kq += xulyDuLieu.traVeKyTuGoc(ct.nguyenLieu.tenNguyenLieu);
                    kq += "             </td>";
                    kq += "             <td>" + bNguyenLieu.chuyenDoiDonViNhoSangLon(ct.soLuongXuat, ct.nguyenLieu).ToString() + " " + xulyDuLieu.traVeKyTuGoc(ct.nguyenLieu.donViHienThi) + "</td>";
                    kq += "             <td>" + xulyDuLieu.doiVND(ct.donGiaXuat) + "</td>";
                    kq += "             <td>";
                    //-----------Lấy mã nguyên liệu làm key trong list session để xác định chi tiết cần xóa
                    kq += "                 <button type=\"button\" maCt=\"" + ct.maNguyenLieu + "\" class=\"btn btn-danger xoaChiTiet\">Xoá nguyên liệu</button>";
                    kq += "             </td>";
                    kq += "         </tr>";
                }
                kq += "     </tbody>";
                kq += "</table>";
                //---Hiện thông tin tổng tiền nhập nguyên liệu
                kq += "<label class=\"font-20 col-red bold\" id=\"TongTienCart";
                kq += "\">Tổng số tiền xuất nguyên liệu: " + xulyDuLieu.doiVND(cart.getTotalPrice()) + "</label><br />";
            }
            catch (Exception ex)
            {
                xulyFile.ghiLoi("Class XuatKhoController - Function: taoBangChiTietTuSession", ex.Message);
            }
            return(kq);
        }