public override int Insert(int id)
 {
     DiTraNo phieumuon = new DiTraNo();
      return  phieumuon.Insert(id);
 }
        private void XuLyNhap_Phieu()
        {
            try
            {
                Int32 selectedRowCount = gridDanhSachPhieuNhap.CurrentCell.RowIndex;
                string maphieu = gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["Ma_phieu"].Value.ToString();
                int idKho = int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_kho"].Value.ToString());

                bool Da_phan_kho = bool.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["Da_phan_kho"].Value.ToString());

                if (Da_phan_kho == true)
                {
                    MessageBox.Show("Phiếu này đã duyệt và phân kho ");
                    return;
                }

                int idphieu = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_phieu_nhap"].Value.ToString()) ? -1 : int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_phieu_nhap"].Value.ToString());
                int idloaiphieu = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["id_loai_phieu_nhap"].Value.ToString()) ? -1 : int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["id_loai_phieu_nhap"].Value.ToString());
                bool isgoidau = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isgoidau"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isgoidau"].Value.ToString());
                bool isKNMN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNMN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNMN"].Value.ToString());
                bool isToTrinh = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isToTrinh"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isToTrinh"].Value.ToString());
                bool isKNTN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNTN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNTN"].Value.ToString());
                bool isKCMN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCMN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCMN"].Value.ToString());
                bool isKCTN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCTN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCTN"].Value.ToString());
                bool isNVMN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isNVMN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isNVMN"].Value.ToString());

                int ID_Kho = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_kho"].Value.ToString()) ? 0 : int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_kho"].Value.ToString());

                bool isKhoNgoai =  new clsDM_Kho().GetDataARow(ID_Kho);

                if (isKhoNgoai == true)
                {
                    if (idloaiphieu != -1)
                    {
                        clsLoaiPhieuNhap lpn = new clsLoaiPhieuNhap();
                        if (lpn.getTenLPN(idloaiphieu).Equals("XD"))
                        {
                            KhoNgoai pn = new KhoNgoai();

                            if (pn.Insert(idphieu) == 1)
                            {
                                MessageBox.Show("Đã xác nhận thành công!"); return;

                            }
                        }
                    }

                }
                if (isNVMN == true)
                {
                    KhoNgoai pn = new KhoNgoai();

                    if (pn.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }
                }
                if (isToTrinh == true)
                {
                    BienBanToTrinh BBTT = new BienBanToTrinh();
                    if (BBTT.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;
                    }
                }
                if (isgoidau == true)
                {
                    GoiDau gd = new GoiDau();
                    if (gd.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }
                }
                if (CheckPhieuNo() == true)
                    return;
                if (isKCMN == true)
                {
                    DiMuonNo KCMN = new DiMuonNo();
                    if (KCMN.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }

                }
                if (isKCTN == true)
                {
                    DiTraNo KCTN = new DiTraNo();
                    if (KCTN.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }

                }
                if (isKNTN == true)
                {
                    KhoKhacTraNo gd = new KhoKhacTraNo();
                    if (gd.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }
                }
                if (isKNMN == true)
                {
                    PhieuKhoKhacMuon gd = new PhieuKhoKhacMuon();
                    if (gd.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }
                }
                if (isgoidau == true)
                {
                    GoiDau gd = new GoiDau();
                    if (gd.Insert(idphieu) == 1)
                    {
                        MessageBox.Show("Đã xác nhận thành công!"); return;

                    }

                }

                if (idloaiphieu != -1)
                {
                    clsLoaiPhieuNhap lpn = new clsLoaiPhieuNhap();
                    if (lpn.getTenLPN(idloaiphieu).Equals("XD"))
                    {
                        PhieuNhap pn = new PhieuNhap();

                        if (pn.Insert(idphieu) == 1)
                        {
                            MessageBox.Show("Đã xác nhận thành công!"); return;

                        }
                    }
                    if (lpn.getTenLPN(idloaiphieu).Equals("TD"))
                    {
                        PhieuHoanNhap phn = new PhieuHoanNhap();
                        if (phn.Insert(idphieu) == 1)
                        {
                            MessageBox.Show("Đã xác nhận thành công!"); return;

                        }
                    }
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(Utilities.clsThamSoUtilities.COException(ex));
            }
        }
 public override int BoDuyet(int id)
 {
     DiTraNo phieumuon = new DiTraNo();
       return phieumuon.BoDuyet(id);
 }
        private void BoDuyet_Xu_Ly()
        {
            try
            {
                Int32 selectedRowCount = gridDanhSachPhieuNhap.CurrentCell.RowIndex;
                string maphieu = gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["Ma_phieu"].Value.ToString();
                int idKho = int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_kho"].Value.ToString());

                bool Da_phan_kho = bool.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["Da_phan_kho"].Value.ToString());

                if (Da_phan_kho == false)
                {
                    MessageBox.Show("Phiếu này chưa duyệt ");
                    return;
                }

                int idphieu = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_phieu_nhap"].Value.ToString()) ? -1 : int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["ID_phieu_nhap"].Value.ToString());
                int idloaiphieu = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["id_loai_phieu_nhap"].Value.ToString()) ? -1 : int.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["id_loai_phieu_nhap"].Value.ToString());
                bool isgoidau = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isgoidau"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isgoidau"].Value.ToString());
                bool isKNMN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNMN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNMN"].Value.ToString());
                bool isToTrinh = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isToTrinh"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isToTrinh"].Value.ToString());
                bool isKNTN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNTN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKNTN"].Value.ToString());
                bool isKCMN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCMN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCMN"].Value.ToString());
                bool isKCTN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCTN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isKCTN"].Value.ToString());
                bool isNVMN = string.IsNullOrEmpty(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isNVMN"].Value.ToString()) ? false : Boolean.Parse(gridDanhSachPhieuNhap.Rows[selectedRowCount].Cells["isNVMN"].Value.ToString());
                if (isNVMN == true)
                {
                    KhoNgoai kn = new KhoNgoai();
                   if( kn.BoDuyet(idphieu)==1)
                       MessageBox.Show("Bỏ duyệt thành công!");
                    return;
                }
                if (CheckTruNo(maphieu) != -1)
                {
                    MessageBox.Show("Phiếu này đã thực hiện trừ nợ không thể bỏ duyệt được!");
                    return;
                }
                if (isToTrinh == true)
                {
                    BienBanToTrinh BBTT = new BienBanToTrinh();
                    if (BBTT.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }
                }
                if (isgoidau == true)
                {
                    GoiDau gd = new GoiDau();
                    if (gd.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }
                }

                if (isKCMN == true)
                {
                    DiMuonNo KCMN = new DiMuonNo();
                    if (KCMN.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }

                }
                if (isKCTN == true)
                {
                    DiTraNo KCTN = new DiTraNo();
                    if (KCTN.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }

                }
                if (isKNTN == true)
                {
                    KhoKhacTraNo gd = new KhoKhacTraNo();
                    if (gd.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }
                }
                if (isKNMN == true)
                {
                    PhieuKhoKhacMuon gd = new PhieuKhoKhacMuon();
                    if (gd.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }
                }
                if (isgoidau == true)
                {
                    GoiDau gd = new GoiDau();
                    if (gd.BoDuyet(idphieu) == 1)
                    {
                        MessageBox.Show("Bỏ duyệt thành công!");
                        return;
                    }

                }

                if (idloaiphieu != -1)
                {
                    clsLoaiPhieuNhap lpn = new clsLoaiPhieuNhap();
                    if (lpn.getTenLPN(idloaiphieu).Equals("XD"))
                    {
                        PhieuNhap pn = new PhieuNhap();
                        if (pn.BoDuyet(idphieu) == 1)
                        {
                            MessageBox.Show("Bỏ duyệt thành công!");
                            return;
                        }
                    }
                    if (lpn.getTenLPN(idloaiphieu).Equals("TD"))
                    {
                        PhieuHoanNhap phn = new PhieuHoanNhap();
                        if (phn.BoDuyet(idphieu) == 1)
                        {
                            MessageBox.Show("Bỏ duyệt thành công!");
                            return;
                        }
                    }
                }

            }
            catch (Exception ex) { MessageBox.Show(Utilities.clsThamSoUtilities.COException(ex)); }
        }