private void btnIn_Click(object sender, EventArgs e)
        {
            int SoDiem = 0;

            if (HoaDonBanHangBUS.KiemTraChiTietHoaDon(dgvDanhSach.RowCount) == "")
            {
                // Thêm hóa đơn mới.
                HoaDonBanHangDTO HD = new HoaDonBanHangDTO();
                HD.MaHoaDonBanHang = txtSoHD.Text;
                HD.NgayLap         = dtkNgayLap.Value;
                HD.MaKhachHang     = txtMaKH.Text;
                HD.MaNhanVien      = txtMaNV.Text;
                HD.TongTien        = Tien;
                if (HoaDonBanHangBUS.ThemHD(HD) == true)
                {
                    btnLapHoaDonMoi.Enabled = true;
                    pbcheck.Enabled         = false;
                    // Thêm chi tiết hóa đơn.
                    for (int k = 0; k < dgvDanhSach.Rows.Count; k++)
                    {
                        ChiTietHoaDonBanHangDTO CT = new ChiTietHoaDonBanHangDTO();
                        CT.MaHoaDonBanHang = txtSoHD.Text;
                        CT.MaSanPham       = dgvDanhSach.Rows[k].Cells[0].Value.ToString();
                        CT.SoLuong         = int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString());
                        if (HoaDonBanHangBUS.ThemCTHD(CT) == true)
                        {
                            // Update số lượng tồn.
                            if (HoaDonBanHangBUS.UpdateSLT(dgvDanhSach.Rows[k].Cells[0].Value.ToString(), int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString())) == false)
                            {
                                MessageBox.Show("Cập nhật số lượng tồn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Thêm chi tiết hóa đơn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    // Cập nhật điểm cho khách hàng.
                    SoDiem = KhachHangBUS.Congdiem(Tien);
                    if (KhachHangBUS.UpdateDiemKH(txtMaKH.Text, SoDiem) == false)
                    {
                        MessageBox.Show("Cập nhật điểm thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    btnIn.Enabled     = false;
                    btnThemSP.Enabled = false;
                    // Xuất ra cystal report.
                    frmXuatHoaDonBanHang frm = new frmXuatHoaDonBanHang(txtSoHD.Text);
                    this.Hide();
                    frm.ShowDialog();
                    this.Show();
                }
                else
                {
                    MessageBox.Show("Thêm hóa đơn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show(string.Format("{0}", HoaDonBanHangBUS.KiemTraChiTietHoaDon(dgvDanhSach.RowCount)), "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }