private void btnGhiPhieu_Click(object sender, EventArgs e)
        {
            // Tạo mã vạch QR
            MessagingToolkit.QRCode.Codec.QRCodeEncoder encoder = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();
            encoder.QRCodeScale = 3;
            Bitmap bmp = encoder.Encode(txtSoPN.Text);
            // Chuyển hình ảnh ra dạng nhị phân
            MemoryStream ms = new MemoryStream();

            bmp.Save(ms, ImageFormat.Jpeg);
            byte[] bmpBytes = ms.GetBuffer();
            bmp.Dispose();
            ms.Close();

            PhieuNhapDTO PN = new PhieuNhapDTO();

            PN.SoPN     = txtSoPN.Text;
            PN.NgayNhap = dtkNgayNhap.Value;
            PN.MaNXB    = cboNXB.SelectedValue.ToString();
            PN.HinhAnh  = bmpBytes;
            if (PhieuNhapBUS.ThemPN(PN) == true)
            {
                btnLapPhieuMoi.Enabled = true;
                btnThemSach.Enabled    = true;
                btnGhiPhieu.Enabled    = false;
                btnIn.Enabled          = true;
                cboNXB.Enabled         = false;

                AutoCompleteStringCollection auto = new AutoCompleteStringCollection();
                foreach (DataRow row in SachBUS.DanhSachTenSachTheoNXB(cboNXB.SelectedValue.ToString()).Rows)
                {
                    auto.Add(row["TenSach"].ToString());
                }
                txtTenSach.AutoCompleteMode         = AutoCompleteMode.Suggest;
                txtTenSach.AutoCompleteSource       = AutoCompleteSource.CustomSource;
                txtTenSach.AutoCompleteCustomSource = auto;
            }
            else
            {
                MessageBox.Show("Thêm phiếu nhập thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }