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); } }