public bool ExportKhoa(QL_HoaDon_BanHang hdbh, List <QL_ChiTietHoaDon> dataSource, ref string fileName, bool isPrintPreview)
        {
            // Check if data is null
            if (dataSource == null || (dataSource != null && dataSource.Count == 0))
            {
                return(false);
            }

            // Set the So thu tu
            //for (int i = 1; i <= dataSource.Count; i++)
            //{
            //   dataSource[i - 1].STT = i.ToString();
            //}
            //  string tongSo = dataSource.Sum(t => t.SoLuong).Value.ToString();

            // gan bien ra excel
            // Create replacer
            Dictionary <string, string> replacer = new Dictionary <string, string>();

            //replacer.Add(V_TONGSO, "100");

            BuildReplacerCurrentDate(ref replacer, dataSource.Count, hdbh);

            return(OutSimpleReport(dataSource, replacer, "HoaDon", isPrintPreview, ref fileName));
        }
        private void xuatFileExcel()
        {
            ExcelExport             ex     = new ExcelExport();
            List <QL_ChiTietHoaDon> dsKhoa = lstChiTiet;

            if (dsKhoa.Count == 0)
            {
                MessageBox.Show("Không có dữ liệu");
            }
            QL_HoaDon_BanHang       hdbh    = hd_bll.layHD(maHD);
            List <QL_ChiTietHoaDon> pListSP = new List <QL_ChiTietHoaDon>();

            if (checkDungDiem.Checked)
            {
                hdbh.DiemDung = diemDung;
            }

            hdbh.TongTienThat = Convert.ToInt32(lbTongTien.Text);

            // Đỗ dữ liệu vào danh sách
            int Stt = 1;

            foreach (QL_ChiTietHoaDon item in dsKhoa)
            {
                QL_ChiTietHoaDon chitiet   = new QL_ChiTietHoaDon();
                QL_SanPham       sphientai = sp_bll.laySP(item.MaSP);

                chitiet.TenSanPham = sphientai.TenSanPham;
                chitiet.DonGia     = item.DonGia;
                chitiet.Soluong    = item.Soluong;
                chitiet.STT        = Stt.ToString();
                Stt++;
                pListSP.Add(chitiet);
            }

            string path = string.Empty;

            ex.ExportKhoa(hdbh, pListSP, ref path, false);

            if (!string.IsNullOrEmpty(path) && MessageBox.Show("Bạn có muốn mở file", "Xác Nhận", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                System.Diagnostics.Process.Start(path);
            }
        }
        /// <summary>
        /// Builds the replacer current date.
        /// </summary>
        /// <param name="pReplacer">The p replacer.</param>
        private void BuildReplacerCurrentDate(ref Dictionary <string, string> pReplacer, int pValue, QL_HoaDon_BanHang hd)
        {
            if (pReplacer != null)
            {
                DateTime currentDate = DateTime.Now;
                string   ngay        = "Ngày " + currentDate.Day + " tháng " + currentDate.Month + " năm " + currentDate.Year;
                pReplacer.Add("%NgayThangNam", DateTime.Now.ToString());
                pReplacer.Add("%TongSo", pValue.ToString());
                pReplacer.Add("%MaHD", hd.MaHD);
                pReplacer.Add("%MaKH", hd.MAKH == "KHCDK" ? " " : hd.MAKH);

                pReplacer.Add("%MaND", hd.MaND);
                pReplacer.Add("%TongCong", hd.TongCong.ToString() + "đ");
                pReplacer.Add("%TienDua", hd.TienDua.ToString() + "đ");
                pReplacer.Add("%TienThua", hd.TienThua.ToString() + "đ");
                pReplacer.Add("%TongTienThat", hd.TongTienThat.ToString() + "đ");
                int diemdung = hd.DiemDung * 1000;
                pReplacer.Add("%DiemDung", diemdung.ToString());
            }
        }