public static void UpdateInfo_Duyet(PLInfoBox Info, DOChiTietCongViec Phieu)
 {
     try
     {
         string Duyet1 = "4";
         try
         {
             Duyet1 = Phieu.GetType().GetProperty("DUYET").GetValue(Phieu, null).ToString().Trim();
         }
         catch { }
         string NguoiCapNhat = GetFullName(Phieu.GetType().GetProperty("NGUOI_CAP_NHAT").GetValue(Phieu, null));
         string NgayCapNhat = Phieu.GetType().GetProperty("NGAY_CAP_NHAT").GetValue(Phieu, null).ToString();
         if (Duyet1 == "2" || Duyet1 == "3")
         {
             Info._init(NguoiCapNhat, NgayCapNhat,
               GetFullName(Phieu.GetType().GetProperty("NGUOI_DUYET").GetValue(Phieu, null)),
               Phieu.GetType().GetProperty("NGAY_DUYET").GetValue(Phieu, null).ToString());
         }
         else
         {
             Info._init(NguoiCapNhat, NgayCapNhat);
         }
     }
     catch { }
 }
        public void InnitDodata(DateTime ngaylamviec, long ID_NV, long CTCCV_ID)
        {
            DataSet ds = new DataSet();
            if (CTCCV_ID != -1 && Is_Add == false)
            {
                chitietcongviec = DAChiTietCongViec.Instance.GetCTCV(ngaylamviec, ID_NV, CTCCV_ID);
                ds = DAChiTietCongViec.Instance.GetData_Update(CTCCV_ID);
                lblThoiGianCapNhat.Text = System.Convert.ToDateTime(chitietcongviec.NGAY_CAP_NHAT).ToString(PLConst.FORMAT_DATETIME_STRING);
            }
            else
            {
                ds = DAChiTietCongViec.Instance.GetData(ngaylamviec, ID_NV);
                lblThoiGianCapNhat.Text = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["NGAY_CAP_NHAT"]).ToString(PLConst.FORMAT_DATETIME_STRING);
            }
            //else if (ngaylamviec.ToString() != "" && ID_NV.ToString() != "")
            //{
            //    chitietcongviec = DAChiTietCongViec.Instance.GetCTCV(ngaylamviec, ID_NV, -1);
            //    ds = DAChiTietCongViec.Instance.GetData(ngaylamviec, ID_NV);
            //}
            NgayNhap.DateTime = ngaylamviec;
            this.gridDSCongviec.DataSource = ds.Tables[0];
            //if (ds.Tables[0].Rows.Count > 0)
            //{
            //    Info.Enabled = true;

            //    PLTimeSheetUtil.UpdateInfo_Duyet(Info, chitietcongviec);
            //    foreach (DataRow r in ds.Tables[0].Rows)
            //    {
            //        if (r["DUYET"].ToString() == "1")
            //        {
            //            chitietcongviec._DUYET = "1";
            //            Duyet.SetDuyet(chitietcongviec);
            //            Allow(true, gridViewDSCongviec);
            //            break;
            //        }
            //        else if (r["DUYET"].ToString() == "2")
            //        {

            //            Duyet.SetDuyet(chitietcongviec);
            //            Allow(false, gridViewDSCongviec);
            //            break;
            //        }
            //        else if (r["DUYET"].ToString() == "3")
            //        {

            //            Duyet.SetDuyet(chitietcongviec);
            //            Allow(true, gridViewDSCongviec);
            //            break;
            //        }

            //    }
            //}
            //else
            //{
            //    Info.Enabled = false;
            //    chitietcongviec._DUYET = "1";
            //    Duyet.SetDuyet(chitietcongviec);
            //    Allow(true, gridViewDSCongviec);
            //}
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            chitietcongviec = GetCTCV(NgayNhap.DateTime, NhanVien._getSelectedID());
            Duyet.GetDuyet(chitietcongviec);
            bool flag = false;
            DataSet ds =((DataView)gridViewDSCongviec.DataSource).Table.DataSet;
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                if (row.RowState != DataRowState.Unchanged)
                {
                    if (row.RowState == DataRowState.Added)
                    {
                        flag = Insert_Code("", row["DA_ID"], row["CV_ID"], NhanVien._getSelectedID()
                                     , row["MO_TA"].ToString(), row["BAT_DAU"], row["KET_THUC"]
                                     , row["THOI_GIAN_THUC_HIEN"], NgayNhap.DateTime,chitietcongviec._DUYET, 1);

                    }
                    else if (row.RowState == DataRowState.Modified)
                    {
                       flag = Insert_Code(row["CTCCV_ID"], row["DA_ID"], row["CV_ID"], NhanVien._getSelectedID()
                                    , row["MO_TA"].ToString(), row["BAT_DAU"], row["KET_THUC"]
                                    , row["THOI_GIAN_THUC_HIEN"], "", chitietcongviec._DUYET, 2);

                    }
                    else if (row.RowState == DataRowState.Deleted)
                    {
                        DataSet dsCV = null;
                        dsCV = GetData(NgayNhap.DateTime,NhanVien._getSelectedID());
                        foreach (DataRow r in dsCV.Tables[0].Rows)
                        {
                            DataRow[] deleterow = ds.Tables[0].Select("CTCCV_ID = " + r["CTCCV_ID"].ToString());
                            if (deleterow.Length == 0)
                            {
                                flag = Insert_Code(r["CTCCV_ID"], "", "", "", "", "", "", "", "", "", 3);
                            }
                        }
                    }
                }
                else
                {
                    if(flag!=false)
                    flag = true;
                }
            }
            if (flag != true)
                HelpMsgBox.ShowErrorMessage("Lưu Không thành công. Vui lòng kiểm tra số liệu!");
            else
            {
                this.Close();
            }
        }
        public static DOChiTietCongViec GetCTCV(DateTime ngaylamviec, long nv_id)
        {
            DOChiTietCongViec ctcv = null;
            try
            {
                string sql = "select DUYET,NGAY_DUYET,NGUOI_DUYET,NGAY_CAP_NHAT,NGUOI_CAP_NHAT  from KE_HOACH_LAM_VIEC where NGAY_LAM_VIEC='" + ngaylamviec.ToString("MM/dd/yyyy") + "'and NV_ID=" + nv_id;
                ctcv = new DOChiTietCongViec();
                DatabaseFB db = HelpDB.getDatabase();
                DbCommand cmd = db.GetSQLStringCommand(sql);
                DataSet ds = new DataSet();
                db.LoadDataSet(cmd, ds, "a");
                //if(ds.Tables[0].Rows.Count>0)
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    ctcv._DUYET = dr["DUYET"].ToString();
                    ctcv._NGAY_CAP_NHAT = Convert.ToDateTime(dr["NGAY_CAP_NHAT"]);
                    ctcv._NGUOI_CAP_NHAT = HelpNumber.ParseInt64(dr["NGUOI_CAP_NHAT"].ToString());
                    if (dr["NGAY_DUYET"].ToString()!="")
                    ctcv._NGAY_DUYET = Convert.ToDateTime(dr["NGAY_DUYET"]);
                    if (dr["NGUOI_DUYET"].ToString() != "")
                    ctcv._NGUOI_DUYET = HelpNumber.ParseInt64(dr["NGUOI_DUYET"].ToString());
                    break;
                }
            }
            catch (Exception)
            {

                throw;
            }
            return ctcv;
        }
        public void InnitDodata(DateTime ngaylamviec,long ID_NV)
        {
            if (ngaylamviec.ToString() != "" && ID_NV.ToString() != "")
            {
                chitietcongviec = GetCTCV(ngaylamviec, ID_NV);
                DataSet ds = GetData(ngaylamviec,ID_NV);
                NgayNhap.DateTime = ngaylamviec;
                NhanVien._setSelectedID(ID_NV);
                this.gridDSCongviec.DataSource = ds.Tables[0];
                if (ds.Tables[0].Rows.Count > 0)
                {
                    Info.Enabled = true;

                    PLTimeSheetUtil.UpdateInfo_Duyet(Info, chitietcongviec);
                    foreach (DataRow r in ds.Tables[0].Rows)
                    {
                        if (r["DUYET"].ToString() == "1")
                        {
                            chitietcongviec._DUYET = "1";
                            Duyet.SetDuyet(chitietcongviec);
                            Allow(true, gridViewDSCongviec);
                            btnDuyet.Text = "Duyệt";
                            break;
                        }
                        else if (r["DUYET"].ToString() == "2")
                        {

                            Duyet.SetDuyet(chitietcongviec);
                            Allow(false, gridViewDSCongviec);
                            btnDuyet.Text = "Không Duyệt";
                            break;
                        }
                        else if (r["DUYET"].ToString() == "3")
                        {

                            Duyet.SetDuyet(chitietcongviec);
                            Allow(true, gridViewDSCongviec);
                            btnDuyet.Text = "Duyệt";
                            break;
                        }

                    }
                    btnDuyet.Enabled = true;

                }
                else
                {
                    Info.Enabled = false;
                    chitietcongviec._DUYET = "1";
                    Duyet.SetDuyet(chitietcongviec);
                    Allow(true,gridViewDSCongviec);
                    btnDuyet.Enabled = false;

                }
            }
        }