Exemplo n.º 1
0
 private void btn_Commit_Click(object sender, EventArgs e)
 {
     if (checkRequiredData())
     {
         if (Db.HasData("users", " WHERE userid='" + SharedParam.CurrentUser.UserID
                        + "' and userpassword='******'"))
         {
             string result = Db.ChangeUserPassword(SharedParam.CurrentUser.UserID,
                                                   Security.Cryptography.Encrypt(txtNewPass.Text, true, SharedParam.USER_PASSWORD_KEY));
             if (result == "success")
             {
                 Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم تغيير كلمة المرور بنجاح ");
                 frm.ShowDialog();
             }
             else if (result == "fail")
             {
                 Dialogs.Dg_Error frm = new Dialogs.Dg_Error("حدث خطأ عند محاولة تغيير كلمة المرور");
                 frm.ShowDialog();
             }
         }
         else
         {
             Dialogs.Dg_Error frm = new Dialogs.Dg_Error("كلمة المرور القديمة غير صحيحة");
             frm.ShowDialog();
         }
     }
 }
Exemplo n.º 2
0
 private void btn_Commit_Click(object sender, EventArgs e)
 {
     if (Operation_Type == "new")
     {
         if (checkRequiredData())
         {
             string result = Db.CreateUser(txtUserId.Text, Security.Cryptography.Encrypt(txtPassword.Text, true, SharedParam.USER_PASSWORD_KEY), txtUserName.Text, coRole.SelectedValue.ToString()
                                           , chSingle.Checked, chEmployee.Checked, chCompany.Checked, chFounder.Checked, SharedParam.CurrentUser.UserID);
             if (result == "success")
             {
                 Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم انشاء المستخدم بنجاح ");
                 frm.ShowDialog();
                 ClearData();
             }
             else if (result == "exists")
             {
                 Dialogs.Dg_Error frm = new Dialogs.Dg_Error("المستخدم تم انشائه مسبقاً");
                 frm.ShowDialog();
             }
             else if (result == "fail")
             {
                 Dialogs.Dg_Error frm = new Dialogs.Dg_Error("حدث خطأ عند محاولة انشاء المستخدم");
                 frm.ShowDialog();
             }
         }
     }
     if (Operation_Type == "edit")
     {
         if (checkRequiredData())
         {
             string result = Db.UpdateUser(CurrentUser, coStatus.SelectedValue.ToString(), coRole.SelectedValue.ToString()
                                           , chSingle.Checked, chEmployee.Checked, chCompany.Checked, chFounder.Checked);
             if (result == "success")
             {
                 Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم تعديل بيانات المستخدم بنجاح ");
                 frm.ShowDialog();
                 this.Close();
             }
             else if (result == "not_exists")
             {
                 Dialogs.Dg_Error frm = new Dialogs.Dg_Error("المستخدم غير موجود");
                 frm.ShowDialog();
                 this.Close();
             }
             else if (result == "fail" || result.Substring(0, 5) == "Error")
             {
                 Dialogs.Dg_Error frm = new Dialogs.Dg_Error("حدث خطأ عند محاولة تعديل بيانات المستخدم المستخدم" + Environment.NewLine + result);
                 frm.ShowDialog();
                 this.Close();
             }
         }
     }
 }
Exemplo n.º 3
0
        private void mnuResetPassword_Click(object sender, EventArgs e)
        {
            string Msg = "هل تريد بالتأكيد إعادة تعيين كلمة المرور الخاصة بـ" + dgv_User["username", dgv_User.CurrentRow.Index].Value.ToString()
                         + "؟" + Environment.NewLine + Environment.NewLine + "تنبيه : لايمكن  التراجع بعد التعديل.";

            if (new Dialogs.Dg_ComfirmMessage("إعادة تعيين كلمة المرور", Msg).MessageResult() == DialogResult.Yes)
            {
                string result = Db.ChangeUserPassword(dgv_User["userid", dgv_User.CurrentRow.Index].Value.ToString()
                                                      , Security.Cryptography.Encrypt(Config.ResetPasswordWord, true, SharedParam.USER_PASSWORD_KEY));
                if (result == "success")
                {
                    Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم الحفظ بنجاح ");
                    frm.ShowDialog();
                }
            }
        }
Exemplo n.º 4
0
 private void btn_Delete_Click(object sender, EventArgs e)
 {
     if (Db.HasRight(SharedParam.CurrentUser.RoleId, 4, 2, "Allow_Delete_Candidate"))
     {
         if (Operation_Type == "edit")
         {
             string Msg = "هل تريد بالتأكيد حذف البيانات؟" + Environment.NewLine + Environment.NewLine + "تنبيه : لايمكن  التراجع عن الحذف.";
             if (new Dialogs.Dg_ComfirmMessage("حذف", Msg).MessageResult() == DialogResult.Yes)
             {
                 string CurrentStatus = Db.GetFieldData("status"
                                                        , "select status from candidate where cand_no=@candno", "candno", string.IsNullOrEmpty(TargetCanNo) ? "0" : TargetCanNo);
                 if (!string.IsNullOrEmpty(CurrentStatus))
                 {
                     if (CurrentStatus == "request")
                     {
                         if (Db.ExecuteSQLCommand("DELETE FROM candidate where cand_no=" + TargetCanNo + " AND cand_class='" + TargetClass + "'"))
                         {
                             Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم الحذف بنجاح ");
                             frm.ShowDialog();
                             ClearAllData();
                         }
                     }
                     else
                     {
                         Dialogs.Dg_Error frm = new Dialogs.Dg_Error("لا يمكن حذف المرشح الحالي بسبب حالته ");
                         frm.ShowDialog();
                     }
                 }
             }
         }
     }
     else
     {
         Dialogs.Dg_Error frm = new Dialogs.Dg_Error("ليس لديك الصلاحية الكافية");
         frm.ShowDialog();
     }
 }
Exemplo n.º 5
0
 void LoadData(string EntryDocNo)
 {
     ClearData();
     EntryDocInfo = Db.GetDataAsDataTableFromSP("sp_AdmissionReport", "AdmissionDT", "@EntryDocNo", EntryDocNo);
     if (EntryDocInfo != null)
     {
         if (EntryDocInfo.Rows[0]["status"].ToString() == "post")
         {
             if (int.Parse(EntryDocInfo.Rows[0]["TotalShareQty"].ToString()) > 0)
             {
                 DataRow dr = EntryDocInfo.Rows[0];
                 string  hc = dr["DetailsClass"].ToString();
                 int     pt = Db.PrintedTimes(int.Parse(EntryDocNo), "all");
                 if (dr["DetailsClass"].ToString() == SharedParam.SINGLE_HOLDER_CLASS &&
                     SharedParam.CurrentUser.HasSingleHolderClass &&
                     (_OpType == "first_print" ? Db.PrintedTimes(int.Parse(EntryDocNo), _DocType) == 0 : true))
                 {
                     txtEntryDocNo.Text = dr["Entry_doc_no"].ToString();
                     txtClassName.Text  = dr["DetailsClassName"].ToString();
                     txtHolderName.Text = dr["holder_name"].ToString();
                     txtCertCount.Text  = dr["CertCount"].ToString();
                     txtShares.Text     = dr["TotalShareQty"].ToString();
                     DataLoaded         = true;
                     btn_Print.Enabled  = DataLoaded;
                 }
                 else if (dr["DetailsClass"].ToString() == SharedParam.EMPLOYEE_HOLDER_CLASS &&
                          SharedParam.CurrentUser.HasEmployeeHolderClass &&
                          (_OpType == "first_print" ? Db.PrintedTimes(int.Parse(EntryDocNo), _DocType) == 0 : true))
                 {
                     txtEntryDocNo.Text = dr["Entry_doc_no"].ToString();
                     txtClassName.Text  = dr["DetailsClassName"].ToString();
                     txtHolderName.Text = dr["holder_name"].ToString();
                     txtCertCount.Text  = dr["CertCount"].ToString();
                     txtShares.Text     = dr["TotalShareQty"].ToString();
                     DataLoaded         = true;
                     btn_Print.Enabled  = DataLoaded;
                 }
                 else if (dr["DetailsClass"].ToString() == SharedParam.COMPANY_HOLDER_CLASS &&
                          SharedParam.CurrentUser.HasCompanyHolderClass &&
                          (_OpType == "first_print" ? Db.PrintedTimes(int.Parse(EntryDocNo), _DocType) == 0 : true))
                 {
                     txtEntryDocNo.Text = dr["Entry_doc_no"].ToString();
                     txtClassName.Text  = dr["DetailsClassName"].ToString();
                     txtHolderName.Text = dr["holder_name"].ToString();
                     txtCertCount.Text  = dr["CertCount"].ToString();
                     txtShares.Text     = dr["TotalShareQty"].ToString();
                     DataLoaded         = true;
                     btn_Print.Enabled  = DataLoaded;
                 }
                 else if (dr["DetailsClass"].ToString() == SharedParam.FOUNDER_HOLDER_CLASS &&
                          SharedParam.CurrentUser.HasFounderHolderClass &&
                          (_OpType == "first_print" ? Db.PrintedTimes(int.Parse(EntryDocNo), _DocType) == 0 : true))
                 {
                     txtEntryDocNo.Text = dr["Entry_doc_no"].ToString();
                     txtClassName.Text  = dr["DetailsClassName"].ToString();
                     txtHolderName.Text = dr["holder_name"].ToString();
                     txtCertCount.Text  = dr["CertCount"].ToString();
                     txtShares.Text     = dr["TotalShareQty"].ToString();
                     DataLoaded         = true;
                     btn_Print.Enabled  = DataLoaded;
                 }
                 else
                 {
                     string msg = "لا توجد بيانات  قد يكون احدى الاسباب التالية : " + Environment.NewLine
                                  + "- ليس لديك الصلاحية الكافية لطباعة ورقة اقتراع لفئة" + dr["DetailsClassName"].ToString() + Environment.NewLine
                                  + "- قد تمت الطباعة مسبقا و للتاكد من ذلك عبر شاشة الاستعلام عن اوراق الاقتراع المطبوعة";
                     Dialogs.Dg_Info frm = new Dialogs.Dg_Info(msg);
                     frm.ShowDialog();
                 }
             }
             else
             {
                 string msg = "بطاقة الحضور لا تزال قيد المراجعة " + Environment.NewLine
                              + "يرجى اعتماد البطاقة قبل طباعتها";
                 Dialogs.Dg_Info frm = new Dialogs.Dg_Info(msg);
                 frm.ShowDialog();
             }
         }
     }
     else
     {
         MessageBox.Show("لا توجد بيانات", "طباعة"
                         , MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
     }
 }
Exemplo n.º 6
0
        private void btn_Print_Click(object sender, EventArgs e)
        {
            if (Db.GetPrinterName(Utility.GetMACAddress()) == "N/A")
            {
                MessageBox.Show("لم يتم تحديد الطابعة التي سيتم عبرها طباعة بطاقة الدخول", "خطأ"
                                , MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1,
                                MessageBoxOptions.RightAlign);
            }
            else
            {
                //var CandidateCount = Db.isHolderClassHasCandidates(EntryDocInfo.Rows[0]["DetailsClass"].ToString());
                //if (!CandidateCount)
                //{
                //    MessageBox.Show("لا يمكن طباعة ورقة الاقتراع لهذه لفئة  " + txtClassName.Text + Environment.NewLine  + " نظرا لعدم وجود مرشحين"
                //                             , "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
                //    return;
                //}
                string Msg = string.Empty;
                if (_OpType == "first_print")
                {
                    Msg = "هل تريد بالتأكيد طباعة ورقة الاقتراع؟" + Environment.NewLine + Environment.NewLine + "تنبيه : لايمكن  التراجع بعد الحفظ.";
                }
                else if (_OpType == "reprint")
                {
                    if (_DocType == "vote")
                    {
                        Msg = "هل تريد بالتأكيد إعادة طباعة ورقة الاقتراع؟" + Environment.NewLine + Environment.NewLine + "تنبيه : لايمكن  التراجع بعد الحفظ.";
                    }
                    else if (_DocType == "entry")
                    {
                        Msg = "هل تريد بالتأكيد إعادة طباعة بطاقة الحضور؟" + Environment.NewLine + Environment.NewLine + "تنبيه : لايمكن  التراجع بعد الحفظ.";
                    }
                }
                if (new Dialogs.Dg_ComfirmMessage("طباعة ورقة اقتراع", Msg).MessageResult() == DialogResult.Yes)
                {
                    #region Confirm to print ...
                    if ((_DocType == "vote") &&
                        (Db.PrintedTimes(int.Parse(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString()), "entry") == 0))
                    {
                        MessageBox.Show("لم يتم طباعة بطاقة الدخول بعد" + Environment.NewLine + Environment.NewLine + " يجب اولا طباعة بطاقة الدخول (الحضور) ثم طباعة ورقة الاقتراع"
                                        , "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
                    }
                    else
                    {
                        if (_OpType == "first_print")
                        {
                            if (Db.PrintedTimes(int.Parse(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString()), _DocType) < Config.MaxVotePaperPrintTimes)
                            {
                                if (DataLoaded)
                                {
                                    string result = Db.CreatePrint(int.Parse(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString())
                                                                   , _DocType, "first_print", SharedParam.CurrentUser.UserID, "other", string.Empty);
                                    if (result == "success")
                                    {
                                        PrintToPrinter(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString()
                                                       , EntryDocInfo.Rows[0]["DetailsClass"].ToString()
                                                       , EntryDocInfo.Rows[0]["TotalShareQty"].ToString()
                                                       , EntryDocInfo.Rows[0]["DetailsClassName"].ToString());
                                        Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تمت عملية الطباعة بنجاح ");
                                        frm.ShowDialog();
                                        ClearData();
                                    }
                                    else
                                    {
                                        MessageBox.Show("فشلت عملية الطباعة");
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("لا توجد بيانات");
                                }
                            }
                            else
                            {
                                MessageBox.Show("عدد مرات طباعة ورقة الاقتراع تجاوز الحد الاقصى المسموح به");
                            }
                        }
                        else if (_OpType == "reprint")
                        {
                            if (_DocType == "vote")
                            {
                                if (!Db.HasRight(SharedParam.CurrentUser.RoleId, 5, 1, "ReprintVotePaper"))
                                {
                                    MessageBox.Show("ليس لديك الصلاحية الكافية");
                                    return;
                                }
                            }
                            else if (_DocType == "entry")
                            {
                                if (!Db.HasRight(SharedParam.CurrentUser.RoleId, 1, 3, "ReprintEntryDoc"))
                                {
                                    MessageBox.Show("ليس لديك الصلاحية الكافية");
                                    return;
                                }
                            }

                            bool PrintTimesExceeded = false;
                            int  PrintedTimes       = Db.PrintedTimes(int.Parse(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString()), _DocType);
                            PrintTimesExceeded = PrintedTimes >= (_DocType == "vote" ? Config.MaxVotePaperPrintTimes : Config.MaxEntryDocPrintTimes);
                            if (!PrintTimesExceeded)
                            {
                                if (coreason.SelectedValue.ToString() == "other")
                                {
                                    if (string.IsNullOrEmpty(txtReason.Text))
                                    {
                                        Dialogs.Dg_Error frm = new Dialogs.Dg_Error("يجب ادخال السبب");
                                        frm.ShowDialog();
                                        return;
                                    }
                                }
                                if (DataLoaded)
                                {
                                    string result = string.Empty;
                                    if (PrintedTimes == 0)
                                    {
                                        result = Db.CreatePrint(int.Parse(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString())
                                                                , _DocType, "first_print", SharedParam.CurrentUser.UserID
                                                                , "other"
                                                                , txtReason.Text);
                                    }
                                    else
                                    {
                                        result = Db.CreatePrint(int.Parse(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString())
                                                                , _DocType, "reprint", SharedParam.CurrentUser.UserID, coreason.SelectedValue.ToString()
                                                                , txtReason.Text);
                                    }
                                    if (result == "success")
                                    {
                                        PrintToPrinter(EntryDocInfo.Rows[0]["Entry_doc_no"].ToString()
                                                       , EntryDocInfo.Rows[0]["DetailsClass"].ToString()
                                                       , EntryDocInfo.Rows[0]["TotalShareQty"].ToString()
                                                       , EntryDocInfo.Rows[0]["DetailsClassName"].ToString());
                                        Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تمت عملية إعادة الطباعة بنجاح ");
                                        frm.ShowDialog();
                                        ClearData();
                                        if (!string.IsNullOrEmpty(_EntryDocNo))
                                        {
                                            this.Close();
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("فشلت عملية إعادة الطباعة");
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("لا توجد بيانات");
                                }
                            }
                            else
                            {
                                MessageBox.Show("عدد مرات الطباعة تجاوز الحد الاقصى المسموح به");
                            }
                        }
                    }
                    #endregion
                }
            } // Check Printer ...
        }
Exemplo n.º 7
0
        private void btn_Commit_Click(object sender, EventArgs e)
        {
            if (Operation_Type == "new")
            {
                #region Start Add New Candidate ...

                if (CheckRequiredFields())
                {
                    byte[] picbyte = new byte[0];
                    if (!string.IsNullOrEmpty(lblpicfullname.Text))
                    {
                        FileStream fs;
                        fs = new FileStream(lblpicfullname.Text, FileMode.Open, FileAccess.Read);
                        //a byte array to read the image
                        picbyte = new byte[fs.Length];
                        fs.Read(picbyte, 0, System.Convert.ToInt32(fs.Length));
                        fs.Close();
                    }

                    int result = Db.CreateCandidate(coClass.SelectedValue.ToString(), txtfullname.Text, string.Empty, DateTime.Parse(txtDOB.Text)
                                                    , txtBirthPlace.Text, txtAddress.Text, coIdType.SelectedValue.ToString(), txtIdNo.Text, DateTime.Parse(txtIdDate.Text)
                                                    , txtIdPlace.Text, txtJobOrg.Text, txtJob.Text, txtMobileNo.Text, txtHomeTel.Text, txtWorkTel.Text
                                                    , txtFax.Text, txtEmail.Text, txtWebsite.Text, SharedParam.CurrentUser.UserID, txtLegalName.Text
                                                    , txtMainActivity.Text, txtLegalForm.Text, txtcompanyaddress.Text, txtLicenceNo.Text, string.IsNullOrEmpty(txtLicenceDate.Text) ? DateTime.MinValue : DateTime.Parse(txtLicenceDate.Text)
                                                    , txtLicencePlace.Text, string.Empty, picbyte, lblPicFileName.Text);
                    if (result > 0)
                    {
                        for (int i = 0; i < dgv_Certs.Rows.Count; ++i)
                        {
                            if (!object.ReferenceEquals(dgv_Certs["shareqty", i].Value, null))
                            {
                                if (!string.IsNullOrEmpty(dgv_Certs["shareqty", i].Value.ToString()))
                                {
                                    Db.InsertCandidateCerts(result, dgv_Certs["certno", i].Value.ToString(), int.Parse(dgv_Certs["shareqty", i].Value.ToString())
                                                            , dgv_Certs["holdername", i].Value.ToString(), coClass.SelectedValue.ToString(), string.Empty, coClass.SelectedValue.ToString());
                                }
                            }
                        }
                        for (int i = 0; i < dgv_Qual.Rows.Count; ++i)
                        {
                            if (!object.ReferenceEquals(dgv_Qual["qual", i].Value, null))
                            {
                                if (!string.IsNullOrEmpty(dgv_Qual["qual", i].Value.ToString()))
                                {
                                    Db.InsertCandidateQualification(result, i + 1, dgv_Qual["qual", i].Value.ToString(), coClass.SelectedValue.ToString());
                                }
                            }
                        }
                        for (int i = 0; i < dgv_Exp.Rows.Count; ++i)
                        {
                            if (!object.ReferenceEquals(dgv_Exp["exp", i].Value, null))
                            {
                                if (!string.IsNullOrEmpty(dgv_Exp["exp", i].Value.ToString()))
                                {
                                    Db.InsertCandidateExperience(result, i + 1, dgv_Exp["exp", i].Value.ToString(), coClass.SelectedValue.ToString());
                                }
                            }
                        }
                        for (int i = 0; i < dgv_LastJobs.Rows.Count; ++i)
                        {
                            if (!object.ReferenceEquals(dgv_LastJobs["job", i].Value, null))
                            {
                                if (!string.IsNullOrEmpty(dgv_LastJobs["job", i].Value.ToString()))
                                {
                                    Db.InsertCandidateLastJob(result, i + 1, dgv_LastJobs["job", i].Value.ToString()
                                                              , DateTime.Parse(dgv_LastJobs["startdate", i].Value.ToString())
                                                              , DateTime.Parse(dgv_LastJobs["enddate", i].Value.ToString())
                                                              , dgv_LastJobs["orgname", i].Value.ToString(), coClass.SelectedValue.ToString());
                                }
                            }
                        }
                        Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم اضافة طلب الترشيح برقم " + result.ToString());
                        frm.ShowDialog();
                        ClearAllData();
                    }
                }
                #endregion
            }

            if (Operation_Type == "edit")
            {
                #region Start Update Candidate ...

                if (CheckRequiredFields())
                {
                    byte[] picbyte = new byte[0];
                    if (!string.IsNullOrEmpty(lblpicfullname.Text))
                    {
                        FileStream fs;
                        fs = new FileStream(lblpicfullname.Text, FileMode.Open, FileAccess.Read);
                        //a byte array to read the image
                        picbyte = new byte[fs.Length];
                        fs.Read(picbyte, 0, System.Convert.ToInt32(fs.Length));
                        fs.Close();
                    }
                    string Msg = "هل تريد بالتأكيد تعديل البيانات؟" + Environment.NewLine + Environment.NewLine + "تنبيه : لايمكن  التراجع بعد التعديل.";
                    if (new Dialogs.Dg_ComfirmMessage("الحفظ", Msg).MessageResult() == DialogResult.Yes)
                    {
                        int result = Db.UpdateCandidate(TargetCanNo, coClass.SelectedValue.ToString(), txtfullname.Text, string.Empty, DateTime.Parse(txtDOB.Text)
                                                        , txtBirthPlace.Text, txtAddress.Text, coIdType.SelectedValue.ToString(), txtIdNo.Text, DateTime.Parse(txtIdDate.Text)
                                                        , txtIdPlace.Text, txtJobOrg.Text, txtJob.Text, txtMobileNo.Text, txtHomeTel.Text, txtWorkTel.Text
                                                        , txtFax.Text, txtEmail.Text, txtWebsite.Text, SharedParam.CurrentUser.UserID, txtLegalName.Text
                                                        , txtMainActivity.Text, txtLegalForm.Text, txtcompanyaddress.Text, txtLicenceNo.Text, string.IsNullOrEmpty(txtLicenceDate.Text) ? DateTime.MinValue : DateTime.Parse(txtLicenceDate.Text)
                                                        , txtLicencePlace.Text, string.Empty, picbyte, lblPicFileName.Text);
                        if (result > 0)
                        {
                            int CndNO = 0;
                            if (Operation_Type == "new")
                            {
                                CndNO = result;
                            }
                            else if (Operation_Type == "edit")
                            {
                                CndNO = int.Parse(TargetCanNo);
                            }
                            Db.ExecuteSQLCommand("DELETE FROM candidate_certs where cand_no=" + TargetCanNo + " AND cand_class='" + TargetClass + "'");
                            // Add Candidate's Certificates ...
                            for (int i = 0; i < dgv_Certs.Rows.Count; ++i)
                            {
                                if (!object.ReferenceEquals(dgv_Certs["shareqty", i].Value, null))
                                {
                                    if (!string.IsNullOrEmpty(dgv_Certs["shareqty", i].Value.ToString()))
                                    {
                                        Db.InsertCandidateCerts(CndNO, dgv_Certs["certno", i].Value.ToString(), int.Parse(dgv_Certs["shareqty", i].Value.ToString())
                                                                , dgv_Certs["holdername", i].Value.ToString(), coClass.SelectedValue.ToString(), string.Empty, coClass.SelectedValue.ToString());
                                    }
                                }
                            }
                            Db.ExecuteSQLCommand("DELETE FROM candidate_qualification where cand_no=" + TargetCanNo + " AND cand_class='" + TargetClass + "'");
                            // Add Candidate's Qualification ...
                            for (int i = 0; i < dgv_Qual.Rows.Count; ++i)
                            {
                                if (!object.ReferenceEquals(dgv_Qual["qual", i].Value, null))
                                {
                                    if (!string.IsNullOrEmpty(dgv_Qual["qual", i].Value.ToString()))
                                    {
                                        Db.InsertCandidateQualification(CndNO, i + 1, dgv_Qual["qual", i].Value.ToString(), coClass.SelectedValue.ToString());
                                    }
                                }
                            }
                            Db.ExecuteSQLCommand("DELETE FROM candidate_experience where cand_no=" + TargetCanNo + " AND cand_class='" + TargetClass + "'");
                            // Add Candidate's Experiences ...
                            for (int i = 0; i < dgv_Exp.Rows.Count; ++i)
                            {
                                if (!object.ReferenceEquals(dgv_Exp["exp", i].Value, null))
                                {
                                    if (!string.IsNullOrEmpty(dgv_Exp["exp", i].Value.ToString()))
                                    {
                                        Db.InsertCandidateExperience(CndNO, i + 1, dgv_Exp["exp", i].Value.ToString(), coClass.SelectedValue.ToString());
                                    }
                                }
                            }
                            Db.ExecuteSQLCommand("DELETE FROM candidate_lastjobs where cand_no=" + TargetCanNo + " AND cand_class='" + TargetClass + "'");
                            // Add Candidate's Last Jobs ...
                            for (int i = 0; i < dgv_LastJobs.Rows.Count; ++i)
                            {
                                if (!object.ReferenceEquals(dgv_LastJobs["job", i].Value, null))
                                {
                                    if (!string.IsNullOrEmpty(dgv_LastJobs["job", i].Value.ToString()))
                                    {
                                        Db.InsertCandidateLastJob(CndNO, i + 1, dgv_LastJobs["job", i].Value.ToString()
                                                                  , DateTime.Parse(dgv_LastJobs["startdate", i].Value.ToString())
                                                                  , DateTime.Parse(dgv_LastJobs["enddate", i].Value.ToString())
                                                                  , dgv_LastJobs["orgname", i].Value.ToString(), coClass.SelectedValue.ToString());
                                    }
                                }
                            }
                            Dialogs.Dg_Info frm = new Dialogs.Dg_Info("تم التعديل بنجاح ");
                            frm.ShowDialog();
                            this.Close();
                            //ClearAllData();
                        }
                    }
                }
                #endregion
            }
        }