private void btnIn_Click(object sender, EventArgs e)
        {
            for (int k = 0; k < dgvDanhSach.Rows.Count; k++)
            {
                ChiTietPhieuNhapDTO PN = new ChiTietPhieuNhapDTO();
                PN.SoPN        = txtSoPN.Text;
                PN.MaSach      = dgvDanhSach.Rows[k].Cells[0].Value.ToString();
                PN.SoLuongNhap = int.Parse(dgvDanhSach.Rows[k].Cells[4].Value.ToString());
                PN.GiaNhap     = Int64.Parse(dgvDanhSach.Rows[k].Cells[5].Value.ToString());
                if (PhieuNhapBUS.ThemCTPN(PN) == true)
                {
                    // Update tổng tiền.
                    if (PhieuNhapBUS.UpdateTT(txtSoPN.Text, Tien) == false)
                    {
                        MessageBox.Show("Cập nhật tổng tiền thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    // Update số lượng tồn và giá bán.
                    if (SachBUS.UpdateSLTvaGB(dgvDanhSach.Rows[k].Cells[0].Value.ToString(), Int64.Parse(dgvDanhSach.Rows[k].Cells[5].Value.ToString()), int.Parse(dgvDanhSach.Rows[k].Cells[4].Value.ToString())) == false)
                    {
                        MessageBox.Show("Cập nhật số lượng tồn và giá bán thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Thêm chi tiết phiếu nhập thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            btnIn.Enabled       = false;
            btnThemSach.Enabled = false;
            // Xuất ra cystal report
            frmXuatPhieuNhap frm = new frmXuatPhieuNhap(txtSoPN.Text);

            this.Hide();
            frm.ShowDialog();
            this.Show();
        }