void LoadData()
 {
     if (dgvDanhSachPD.Rows.Count > 0)
     {
         // Cập nhật trạng thái đơn dặt hàng.
         if (DonDatHangBUS.KiemTraSLHang(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString()) == 0)
         {
             if (DonDatHangBUS.UpdateTrangThai(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString(), 3) == false)
             {
                 MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else if (DonDatHangBUS.KiemTraSLHang(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString()) == 1)
         {
             if (DonDatHangBUS.UpdateTrangThai(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString(), 2) == false)
             {
                 MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else if (DonDatHangBUS.KiemTraSLHang(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString()) == -1)
         {
             if (DonDatHangBUS.UpdateTrangThai(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString(), 1) == false)
             {
                 MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         // Load data.
         dgvDanhSachPG.DataSource = PhieuGiaoHangBUS.DanhSachPG();
         Custom1();
         dgvDanhSachPG.ClearSelection();
         if (dgvDanhSachPG.Rows.Count > 0)
         {
             dgvChiTietPG.DataSource = PhieuGiaoHangBUS.DanhSachCTPG(dgvDanhSachPG.CurrentRow.Cells[0].Value.ToString());
             Custom2();
             dgvChiTietPG.ClearSelection();
             dgvDanhSachPD.DataSource = DonDatHangBUS.DanhSachDDHTheoMaPG(dgvDanhSachPG.CurrentRow.Cells[0].Value.ToString());
             Custom3();
             dgvChiTietPD.DataSource = DonDatHangBUS.DanhSachCTPD(dgvDanhSachPD.CurrentRow.Cells[0].Value.ToString());
             Custom4();
             dgvChiTietPD.ClearSelection();
         }
         else
         {
             dgvChiTietPG.DataSource  = null;
             dgvDanhSachPD.DataSource = null;
             dgvChiTietPD.DataSource  = null;
         }
     }
 }
 private void btnIn_Click(object sender, EventArgs e)
 {
     if (PhieuGiaoHangBUS.KiemTraChiTietPhieuGiao(dgvDanhSach.RowCount) == "")
     {
         // Thêm phiếu giao mới.
         PhieuGiaoHangDTO PG = new PhieuGiaoHangDTO();
         PG.MaPhieuGiaoHang      = txtSoPG.Text;
         PG.NgayGiao             = dtkNgayGiao.Value;
         PG.MaDonDatHang         = cboMaDH.SelectedValue.ToString();
         PG.MaPhieuGiaoHangNhaCC = txtMaPGNCC.Text;
         txtMaPGNCC.ReadOnly     = false;
         if (PhieuGiaoHangBUS.ThemPG(PG) == true)
         {
             btnLapPhieuMoi.Enabled = true;
             cboMaDH.Enabled        = true;
             // Thêm chi tiết phiếu giao.
             for (int k = 0; k < dgvDanhSach.Rows.Count; k++)
             {
                 ChiTietPhieuGiaoHangDTO CT = new ChiTietPhieuGiaoHangDTO();
                 CT.MaPhieuGiao = txtSoPG.Text;
                 CT.MaSanPham   = dgvDanhSach.Rows[k].Cells[0].Value.ToString();
                 CT.SoLuong     = int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString());
                 if (PhieuGiaoHangBUS.ThemCTPG(CT) == true)
                 {
                     // Update số lượng tồn.
                     if (PhieuGiaoHangBUS.UpdateSLTsaunhanhang(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 phiếu giao hàng thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             btnIn.Enabled     = false;
             btnThemSP.Enabled = false;
             // Cập nhật trạng thái đơn dặt hàng.
             if (DonDatHangBUS.KiemTraSLHang(cboMaDH.SelectedValue.ToString()) == 0)
             {
                 if (DonDatHangBUS.UpdateTrangThai(cboMaDH.SelectedValue.ToString(), 3) == false)
                 {
                     MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             else if (DonDatHangBUS.KiemTraSLHang(cboMaDH.SelectedValue.ToString()) == 1)
             {
                 if (DonDatHangBUS.UpdateTrangThai(cboMaDH.SelectedValue.ToString(), 2) == false)
                 {
                     MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             else if (DonDatHangBUS.KiemTraSLHang(cboMaDH.SelectedValue.ToString()) == -1)
             {
                 if (DonDatHangBUS.UpdateTrangThai(cboMaDH.SelectedValue.ToString(), 1) == false)
                 {
                     MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             // Xuất ra cystal report
             frmXuatPhieuGiaoHang frm = new frmXuatPhieuGiaoHang(txtSoPG.Text);
             this.Hide();
             frm.ShowDialog();
             this.Show();
         }
         else
         {
             MessageBox.Show("Thêm phiếu giao hàng thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show(string.Format("{0}", PhieuGiaoHangBUS.KiemTraChiTietPhieuGiao(dgvDanhSach.RowCount)), "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }