private void btnLuu_Click(object sender, EventArgs e)
        {
            //btnCheckMaPhieuXuat.Enabled = true;

            //Ko cần thiết
            if (cbMaPhieuXuatTam.Text.Trim() == "")
            {
                MessageBox.Show("Mã phiếu bắt buộc nhập!");
                return;
            }

            if (dataTableChiTietPhieuXuatTam.Rows.Count == 0)
            {
                MessageBox.Show("Dữ liệu trong danh sách vật tư không rỗng");
                return;
            }

            switch (PanelButton.getClickStatus())
            {
                case enumButton2.Them:
                    try
                    {
                        DatabaseHelper help = new DatabaseHelper();
                        help.ConnectDatabase();

                        using (var dbcxtransaction = help.ent.Database.BeginTransaction())
                        {
                            //01: Thêm phiếu vào DS
                            clsPhieuXuatTamVatTu phieuxuat = new clsPhieuXuatTamVatTu();

                            phieuxuat.Ma_phieu_xuat_tam = cbMaPhieuXuatTam.Text.Trim();

                            if (phieuxuat.CheckTonTaiSoDK(help , phieuxuat.Ma_phieu_xuat_tam) == true)
                            {
                                MessageBox.Show("Mã phiếu đã tồn tại! ");
                                return;
                            }

                            phieuxuat.ID_Nhan_vien = Int32.Parse(cbMaNhanVien.SelectedValue.ToString());
                            phieuxuat.Ngay_xuat = dtNgayXuat.Value;

                            phieuxuat.ID_kho = Int32.Parse(cbKhoXuat.SelectedValue.ToString());

                            phieuxuat.Ly_do = txtLyDo.Text.Trim();
                            phieuxuat.Cong_trinh = txtCongTrinh.Text.Trim();
                            phieuxuat.Dia_chi = txtDiaChi.Text.Trim();
                            phieuxuat.Da_duyet = bDaDuyetPhieuXuat();
                            phieuxuat.Insert(help);

                          //  clsChiTietPhieuXuatTam ChiTietPhieuXuat = new clsChiTietPhieuXuatTam();
                            for (int i = 0; i < dataTableChiTietPhieuXuatTam.Rows.Count; i++)
                            {
                                clsChiTietPhieuXuatTam ChiTietPhieuXuat = new clsChiTietPhieuXuatTam();
                                DataRow dr = dataTableChiTietPhieuXuatTam.Rows[i];
                                string mavt = dr["ma_vat_tu"].ToString();
                                int idcl = int.Parse(dr["ID_chat_luong"].ToString());
                                int idkho = int.Parse(dr["ID_kho"].ToString());
                                decimal slgl = decimal.Parse(dr["So_luong_giu_lai"].ToString());
                                decimal sldn = decimal.Parse(dr["So_luong_de_nghi"].ToString());
                                decimal sltx = decimal.Parse(dr["So_luong_thuc_xuat"].ToString());
                                decimal slhn = decimal.Parse(dr["So_luong_hoan_nhap"].ToString());
                                decimal sldg = decimal.Parse(dr["So_luong_dang_giu"].ToString());

                                ChiTietPhieuXuat.Id_chat_luong = idcl;
                                ChiTietPhieuXuat.Ma_phieu_xuat_tam = phieuxuat.Ma_phieu_xuat_tam;
                                ChiTietPhieuXuat.Ma_vat_tu = mavt;
                                ChiTietPhieuXuat.ID_kho = idkho;
                                ChiTietPhieuXuat.So_luong_giu_lai = slgl;
                                ChiTietPhieuXuat.so_luong_thuc_lanh = sltx;
                                ChiTietPhieuXuat.So_luong_hoan_nhap = slhn;
                                ChiTietPhieuXuat.So_luong_de_nghi = sldn;
                                ChiTietPhieuXuat.So_luong_dang_giu = sldg;
                                ChiTietPhieuXuat.ID_chi_tiet_phieu_xuat_tam = phieuxuat.ID_phieu_xuat_tam;
                                if (ChiTietPhieuXuat.Insert(help) == 0)
                                {
                                    dbcxtransaction.Rollback();
                                    MessageBox.Show("Cập nhật thất bại");
                                    return;
                                }

                            }
                            MessageBox.Show("Cập nhật thành công !");
                            dbcxtransaction.Commit();
                            PanelButton.setClickSua();
                            ResetGridInputForm();
                            dataTableChiTietPhieuXuatTam.Clear(); SetDataToGrid();
                            //if (ChiTietPhieuXuat.CapNhapChiTietPhieuXuat(dataTableChiTietPhieuXuatTam, phieuxuat.Ma_phieu_xuat_tam, phieuxuat) == 1)
                            //{
                            //    MessageBox.Show("Bạn đã thêm thành công!");

                            //    PanelButton.setClickSua();
                            //    ResetGridInputForm();
                            //    dataTableChiTietPhieuXuatTam.Clear();
                            //    SetDataToGrid();
                            //}

                            frmDanhSachPhieuXuatTamVatTu dspx = new frmDanhSachPhieuXuatTamVatTu(phieuxuat.Ma_phieu_xuat_tam);
                            dspx.Show();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    break;

                case enumButton2.Sua:
                    {
                        try
                        {
                            DatabaseHelper help = new DatabaseHelper();
                            help.ConnectDatabase();

                            using (var dbcxtransaction = help.ent.Database.BeginTransaction())
                            {
                                //01: Thêm phiếu vào DS
                                clsPhieuXuatTamVatTu phieuxuat = new clsPhieuXuatTamVatTu();
                                phieuxuat.Ma_phieu_xuat_tam = cbMaPhieuXuatTam.Text.Trim();
                                phieuxuat.ID_Nhan_vien = Int32.Parse(cbMaNhanVien.SelectedValue.ToString());
                                phieuxuat.Ngay_xuat = dtNgayXuat.Value;
                                phieuxuat.ID_kho = Int32.Parse(cbKhoXuat.SelectedValue.ToString());
                                phieuxuat.Ly_do = txtLyDo.Text.Trim();
                                phieuxuat.Cong_trinh = txtCongTrinh.Text.Trim();
                                phieuxuat.Dia_chi = txtDiaChi.Text.Trim();
                                phieuxuat.Da_duyet = false;
                                int idphieu = phieuxuat.TimMaPhieu(phieuxuat.Ma_phieu_xuat_tam);
                                if (idphieu == -1)
                                    return;
                                phieuxuat.ID_phieu_xuat_tam = idphieu;
                                if (phieuxuat.Update(help) == 0)
                                {
                                    dbcxtransaction.Rollback(); MessageBox.Show("Cập nhật thất bại");
                                    return;
                                }

                                for (int i = 0; i < dataTableChiTietPhieuXuatTam.Rows.Count; i++)
                                {
                                    clsChiTietPhieuXuatTam ChiTietPhieuXuat = new clsChiTietPhieuXuatTam();
                                    DataRow dr = dataTableChiTietPhieuXuatTam.Rows[i];
                                    string mavt = dr["ma_vat_tu"].ToString();
                                    int idcl = int.Parse(dr["ID_chat_luong"].ToString());
                                    int idkho = int.Parse(dr["ID_kho"].ToString());
                                    decimal slgl = decimal.Parse(dr["So_luong_giu_lai"].ToString());
                                    decimal sldn = decimal.Parse(dr["So_luong_de_nghi"].ToString());
                                    decimal sltx = decimal.Parse(dr["So_luong_thuc_xuat"].ToString());
                                    decimal slhn = decimal.Parse(dr["So_luong_hoan_nhap"].ToString());
                                    decimal sldg = decimal.Parse(dr["So_luong_dang_giu"].ToString());

                                    ChiTietPhieuXuat.Id_chat_luong = idcl;
                                    ChiTietPhieuXuat.Ma_phieu_xuat_tam = phieuxuat.Ma_phieu_xuat_tam;
                                    ChiTietPhieuXuat.Ma_vat_tu = mavt;
                                    ChiTietPhieuXuat.ID_kho = idkho;
                                    ChiTietPhieuXuat.So_luong_giu_lai = slgl;
                                    ChiTietPhieuXuat.so_luong_thuc_lanh = sltx;
                                    ChiTietPhieuXuat.So_luong_hoan_nhap = slhn;
                                    ChiTietPhieuXuat.So_luong_de_nghi = sldn;
                                    ChiTietPhieuXuat.So_luong_dang_giu = sldg;
                                    ChiTietPhieuXuat.ID_chi_tiet_phieu_xuat_tam = phieuxuat.ID_phieu_xuat_tam;
                                    if ( ChiTietPhieuXuat.Insert(help) == 0)
                                    {
                                        dbcxtransaction.Rollback();
                                        MessageBox.Show("Cập nhật thất bại");
                                        return;
                                    }

                                }
                                MessageBox.Show("Cập nhật thành công !");
                                dbcxtransaction.Commit();

                                if (dspn != null)
                                {
                                  dspn.  LoadInitGridMaster();
                                }
                                this.Close();

                                //if (ChiTietPhieuXuat.CapNhapChiTietPhieuXuat(dataTableChiTietPhieuXuatTam, phieuxuat.Ma_phieu_xuat_tam, phieuxuat) == 1)
                                //{
                                //    MessageBox.Show("Bạn đã cập nhật thành công!");
                                //    ResetGridInputForm();
                                //    dataTableChiTietPhieuXuatTam.Clear();
                                //    SetDataToGrid();
                                //}
                            }
                        }

                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.ToString());
                        }
                    }
                    break;
                case enumButton2.BaoGiuLai:
                    {
                        try
                        {
                            DatabaseHelper help = new DatabaseHelper();
                            help.ConnectDatabase();
                            //   help.ent.Database.BeginTransaction();
                            using (var dbcxtransaction = help.ent.Database.BeginTransaction())
                            {
                                clsDuyetPhieu duyetgiulai = new clsDuyetPhieu();
                                clsPhieuXuatTamVatTu pxt = new clsPhieuXuatTamVatTu();
                               // pxt.Delete(help,cbMaPhieuXuatTam.Text.Trim());
                                for (int i = 0; i < dataTableChiTietPhieuXuatTam.Rows.Count; i++)
                                {
                                    clsChiTietPhieuXuatTam ctpxt = new clsChiTietPhieuXuatTam();
                                    DataRow dr = dataTableChiTietPhieuXuatTam.Rows[i];
                                    string mavt = dr["ma_vat_tu"].ToString();
                                    int idcl = int.Parse(dr["ID_chat_luong"].ToString());
                                    decimal slgl = decimal.Parse(dr["So_luong_giu_lai"].ToString());
                                    Chi_Tiet_Phieu_Xuat_Tam temp = ctpxt.TimKiem(help,cbMaPhieuXuatTam.Text, mavt, idcl);
                                    if (temp == null)
                                    {
                                        dbcxtransaction.Rollback();
                                        return;
                                    }
                                    else
                                    {
                                        temp.So_luong_giu_lai = (decimal?)slgl;
                                        if (ctpxt.Update(help, temp) == 0)
                                        {
                                            MessageBox.Show("Giữ lại thất bại!");
                                            return;
                                        }
                                    }
                                }

                                //01: Thêm phiếu vào DS
                                //clsPhieuXuatTamVatTu phieuxuat = new clsPhieuXuatTamVatTu();

                                //phieuxuat.Ma_phieu_xuat_tam = cbMaPhieuXuatTam.Text.Trim();
                                //phieuxuat.ID_Nhan_vien = Int32.Parse(cbMaNhanVien.SelectedValue.ToString());
                                //phieuxuat.Ngay_xuat = dtNgayXuat.Value;

                                //phieuxuat.ID_kho = Int32.Parse(cbKhoXuat.SelectedValue.ToString());

                                //phieuxuat.Ly_do = txtLyDo.Text.Trim();
                                //phieuxuat.Cong_trinh = txtCongTrinh.Text.Trim();
                                //phieuxuat.Dia_chi = txtDiaChi.Text.Trim();
                                //phieuxuat.Da_duyet = bDaDuyetPhieuXuat();

                                if (duyetgiulai.XuLyGiuLai(help, cbMaPhieuXuatTam.Text.Trim()) == 1)
                                {
                                    dbcxtransaction.Commit();
                                    MessageBox.Show("Bạn đã cập nhật thành công!");
                                    ResetGridInputForm();
                                    dataTableChiTietPhieuXuatTam.Clear();
                                    SetDataToGrid();
                                    if (dspn != null)
                                    {
                                        dspn.LoadInitGridMaster();
                                        dspn.Refresh();
                                    }
                                    this.Close();

                                }
                                else {
                                    dbcxtransaction.Rollback();
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.ToString());

                        }
                    }
                    break;
                case enumButton2.BaoHoanNhap:
                    {

                        try
                        {
                            DatabaseHelper help = new DatabaseHelper();
                            help.ConnectDatabase();
                            //   help.ent.Database.BeginTransaction();
                            using (var dbcxtransaction = help.ent.Database.BeginTransaction())
                            {
                                clsDuyetPhieu duyetgiulai = new clsDuyetPhieu();
                                clsPhieuXuatTamVatTu pxt = new clsPhieuXuatTamVatTu();
                                // pxt.Delete(help,cbMaPhieuXuatTam.Text.Trim());
                                for (int i = 0; i < dataTableChiTietPhieuXuatTam.Rows.Count; i++)
                                {
                                    clsChiTietPhieuXuatTam ctpxt = new clsChiTietPhieuXuatTam();
                                    DataRow dr = dataTableChiTietPhieuXuatTam.Rows[i];
                                    string mavt = dr["ma_vat_tu"].ToString();
                                    int idcl = int.Parse(dr["ID_chat_luong"].ToString());
                                    decimal slgl = decimal.Parse(dr["So_luong_hoan_nhap"].ToString());
                                    Chi_Tiet_Phieu_Xuat_Tam temp = ctpxt.TimKiem(help, cbMaPhieuXuatTam.Text, mavt, idcl);
                                    if (temp == null)
                                    {
                                        dbcxtransaction.Rollback();
                                        return;
                                    }
                                    else
                                    {
                                        temp.So_luong_hoan_nhap = (decimal?)slgl;
                                        if (ctpxt.Update(help, temp) == 0)
                                        {
                                            MessageBox.Show("Giữ lại thất bại!");
                                            return;
                                        }
                                    }
                                }
                                //01: Thêm phiếu vào DS
                                //clsPhieuXuatTamVatTu phieuxuat = new clsPhieuXuatTamVatTu();

                                //phieuxuat.Ma_phieu_xuat_tam = cbMaPhieuXuatTam.Text.Trim();
                                //phieuxuat.ID_Nhan_vien = Int32.Parse(cbMaNhanVien.SelectedValue.ToString());
                                //phieuxuat.Ngay_xuat = dtNgayXuat.Value;

                                //phieuxuat.ID_kho = Int32.Parse(cbKhoXuat.SelectedValue.ToString());

                                //phieuxuat.Ly_do = txtLyDo.Text.Trim();
                                //phieuxuat.Cong_trinh = txtCongTrinh.Text.Trim();
                                //phieuxuat.Dia_chi = txtDiaChi.Text.Trim();
                                //phieuxuat.Da_duyet = bDaDuyetPhieuXuat();

                                if (duyetgiulai.XyLyHoanNhap(help, cbMaPhieuXuatTam.Text.Trim()) == 1)
                                {
                                    dbcxtransaction.Commit();
                                    MessageBox.Show("Bạn đã cập nhật thành công!");
                                    ResetGridInputForm();
                                    dataTableChiTietPhieuXuatTam.Clear();
                                    SetDataToGrid();
                                }
                                else
                                {
                                    dbcxtransaction.Rollback();
                                }
                                //01: Thêm phiếu vào DS
                                //clsPhieuXuatTamVatTu phieuxuat = new clsPhieuXuatTamVatTu();

                                //phieuxuat.Ma_phieu_xuat_tam = cbMaPhieuXuatTam.Text.Trim();
                                //phieuxuat.ID_Nhan_vien = Int32.Parse(cbMaNhanVien.SelectedValue.ToString());
                                //phieuxuat.Ngay_xuat = dtNgayXuat.Value;

                                //phieuxuat.ID_kho = Int32.Parse(cbKhoXuat.SelectedValue.ToString());

                                //phieuxuat.Ly_do = txtLyDo.Text.Trim();
                                //phieuxuat.Cong_trinh = txtCongTrinh.Text.Trim();
                                //phieuxuat.Dia_chi = txtDiaChi.Text.Trim();
                                //phieuxuat.Da_duyet = bDaDuyetPhieuXuat();

                                //try
                                //{
                                //    clsChiTietPhieuXuatTam ChiTietPhieuXuat = new clsChiTietPhieuXuatTam();
                                //    if (ChiTietPhieuXuat.CapNhapChiTietPhieuXuat(dataTableChiTietPhieuXuatTam, phieuxuat.Ma_phieu_xuat_tam, phieuxuat) == 1)
                                //    {
                                //        MessageBox.Show("Bạn đã cập nhật thành công!");
                                //        ResetGridInputForm();
                                //        dataTableChiTietPhieuXuatTam.Clear();
                                //        SetDataToGrid();
                                //    }
                                //}
                                //catch (Exception ex)
                                //{
                                //    MessageBox.Show(ex.ToString());
                                //}
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.ToString());
                        }
                    }
                    break;
            }
        }
        private void SetDataToGrid()
        {
            clsChiTietPhieuXuatTam ChitTietPhieuXuat = new clsChiTietPhieuXuatTam();
            DataTable dt = ChitTietPhieuXuat.getAll_toGrid(cbMaPhieuXuatTam.Text.Trim());

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dataTableChiTietPhieuXuatTam.NewRow();
                dr["ID_chi_tiet_phieu_xuat_tam"] = dt.Rows[i]["ID_chi_tiet_phieu_xuat_tam"];
                dr["Ma_vat_tu"] = dt.Rows[i]["Ma_vat_tu"];
                dr["Ten_vat_tu"] = dt.Rows[i]["Ten_vat_tu"];
                dr["Id_chat_luong"] = dt.Rows[i]["Id_chat_luong"];
                dr["Loai_chat_luong"] = dt.Rows[i]["Loai_chat_luong"];
                dr["ID_kho"] = dt.Rows[i]["ID_kho"];
                dr["Ten_kho"] = dt.Rows[i]["Ten_kho"];
                dr["ID_No_vat_tu"] = -1;
                dr["So_luong_dang_giu"] = dt.Rows[i]["So_luong_dang_giu"];
                dr["So_luong_de_nghi"] = dt.Rows[i]["So_luong_de_nghi"];
                dr["So_luong_thuc_xuat"] = dt.Rows[i]["So_luong_thuc_xuat"];
                dr["Da_duyet_xuat_vat_tu"] = dt.Rows[i]["Da_duyet_xuat_vat_tu"];
                dr["So_luong_hoan_nhap"] = dt.Rows[i]["So_luong_hoan_nhap"];
                dr["So_luong_giu_lai"] = dt.Rows[i]["So_luong_giu_lai"];
                dr["Da_duyet_hoan_nhap"] = dt.Rows[i]["Da_duyet_hoan_nhap"];
                dr["Da_duyet_giu_lai"] = dt.Rows[i]["Da_duyet_giu_lai"];
                dr["Ten_don_vi_tinh"] = dt.Rows[i]["Ten_don_vi_tinh"];
                dataTableChiTietPhieuXuatTam.Rows.Add(dr);
            }

            setup_cbKhoXuat();
        }
        private void frm_init()
        {
            button1.Visible = false;
            ToolTip1 = new System.Windows.Forms.ToolTip();
            errorProvider1 = new ErrorProvider();
            autoConfigFormControls = new AutoConfigFormControls(ref errorProvider1);

            //flagSL = enumFlagSL.None;

            initPanelButton();
            initTextBox();

            init_cb();

            PhieuXuat = new clsChiTietPhieuXuatTam();

            DisableControl_ForNew();
        }
        private void init_cbMaPhieuXuatTam()
        {
            cbMaPhieuXuatTam.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            cbMaPhieuXuatTam.AutoCompleteSource = AutoCompleteSource.CustomSource;

            clsChiTietPhieuXuatTam PhieuXuat = new clsChiTietPhieuXuatTam();
            AutoCompleteStringCollection combData1 = PhieuXuat.getListMaPhieuXuatTam();

            cbMaPhieuXuatTam.AutoCompleteCustomSource = combData1;

            cbMaPhieuXuatTam.DataSource = PhieuXuat.getAll_Ma_Phieu();
            cbMaPhieuXuatTam.ValueMember = "ID_phieu_xuat_tam";
            cbMaPhieuXuatTam.DisplayMember = "Ma_phieu_xuat_tam";

            cbMaPhieuXuatTam.SelectedIndex = -1;
        }
        private void btnPrint_Click(object sender, EventArgs e)
        {
            if (cbMaPhieuXuatTam.Text.Equals(string.Empty))
            {
                return;
            }

            clsChiTietPhieuXuatTam chitiet_pxt = new clsChiTietPhieuXuatTam();

            if (chitiet_pxt.isHasDuplicateRow(cbMaPhieuXuatTam.Text) == false)
            {
                return;
            }

            frmReport_phieu_xuat_tam_vat_tu frm = new frmReport_phieu_xuat_tam_vat_tu(cbMaPhieuXuatTam.Text);

            foreach (Form f in this.MdiChildren)
            {
                if (f.Name == frm.Name)
                {
                    f.Activate();
                    return;
                }
            }

            frm.MdiParent = this.ParentForm;
            frm.WindowState = FormWindowState.Maximized;
            frm.Show();
        }