public FormResumeList(AuthorityFlag authFlag, string CardID)
        {
            InitializeComponent();

            m_authFlag = authFlag;

            m_resume = m_resumeServer.GetResumelInfo(CardID);

            if (m_resume != null)
            {
                添加toolStripButton1.Visible  = false;
                toolStripSeparator4.Visible = false;

                BindControl();

                txtName.ReadOnly = true;
                txtCard.ReadOnly = true;
            }
            else
            {
                MessageDialog.ShowPromptMessage("没有身份证为【" + CardID + "】的简历信息!");
                this.Close();
                return;
            }
        }
        /// <summary>
        /// 获得人员简历数据集
        /// </summary>
        /// <returns>返回人员简历集合</returns>
        HR_Resume GetResumeData()
        {
            HR_Resume resume = new HR_Resume();

            resume.Name                    = txtName.Text;
            resume.RecruitmentType         = cmbRecruitType.Text;
            resume.ResumeStatusID          = m_resumeServer.GetResumeStatusByStatus(cmbResumeStatus.Text);
            resume.Sex                     = cmbSex.Text;
            resume.Birthday                = dtpBirthday.Value;
            resume.Age                     = Convert.ToInt32(numAge.Value);
            resume.Height                  = numHeight.Value;
            resume.Nationality             = txtNationality.Text;
            resume.Race                    = txtRace.Text;
            resume.Birthplace              = txtBirthplace.Text;
            resume.Party                   = txtParty.Text;
            resume.MaritalStatus           = cmbMaritalStatus.Text;
            resume.ID_Card                 = txtCard.Text;
            resume.College                 = txtCollege.Text;
            resume.EducatedDegree          = txtEducatedDegree.Text;
            resume.EducatedMajor           = txtEducatedMajor.Text;
            resume.FamilyAddress           = txtFamilyAddress.Text;
            resume.Postcode                = txtPostcode.Text;
            resume.EmergencyPhone          = txtEmergencyPhone.Text;
            resume.Speciality              = txtSpeciality.Text;
            resume.EnglishLevel            = txtEnglishLevel.Text;
            resume.ComputerLevel           = txtComputerLevel.Text;
            resume.Phone                   = txtPhone.Text;
            resume.ExistThirdPartyRelation = cbIsThirdParty.Checked;
            resume.ThirdPartyRelation      = txtThirdParty.Text;
            resume.WorkingTenure           = numWorkingTenure.Value;
            resume.WorkHistory             = txtWorkHistory.Text;
            resume.EducatedHistory         = txtEducatedHistory.Text;
            resume.FamilyMember            = txtFamilyMember.Text;
            resume.DesiredSalary           = numDesiredSalary.Value;

            if (picbPhoto.Image != null)
            {
                resume.Photo = GetPicToBinary(picbPhoto.Image);
            }

            if (picbyte != null)
            {
                resume.Annex    = picbyte;
                resume.PathName = pathName;
            }

            resume.Recorder   = BasicInfo.LoginID;
            resume.RecordTime = ServerTime.Time;
            resume.Remark     = txtRemark.Text;

            return(resume);
        }
        public FormResumeList(AuthorityFlag authFlag, HR_Resume resume, string status)
        {
            InitializeComponent();

            m_authFlag = authFlag;

            m_resume           = resume;
            toolStrip1.Visible = true;

            if (status != "新建")
            {
                添加toolStripButton1.Visible  = false;
                toolStripSeparator4.Visible = false;

                BindControl();

                txtName.ReadOnly = true;
                txtCard.ReadOnly = true;
            }
            else
            {
                txtName.ReadOnly = false;
                txtCard.ReadOnly = false;

                修改toolStripButton1.Visible  = false;
                除toolStripButton1.Visible   = false;
                toolStripSeparator1.Visible = false;
                toolStripSeparator2.Visible = false;
            }

            DataTable dt = m_resumeServer.GetResumeStatus();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                cmbResumeStatus.Items.Add(dt.Rows[i]["Status"].ToString());
            }
        }
        private void txtResume_DoubleClick(object sender, EventArgs e)
        {
            FormPersonnelResume frm = new FormPersonnelResume(txtResume, "编号");

            frm.ShowDialog();

            HR_Resume resumeInfo = m_resumeServer.GetResumelInfo(Convert.ToInt32(frm.UserCode));

            if (resumeInfo != null)
            {
                txtName.Text           = resumeInfo.Name;
                txtNationality.Text    = resumeInfo.Nationality;
                txtParty.Text          = resumeInfo.Party;
                txtFamilyAddress.Text  = resumeInfo.FamilyAddress;
                txtCollege.Text        = resumeInfo.College;
                cmbEducatedDegree.Text = resumeInfo.EducatedDegree;
                txtEducatedMajor.Text  = resumeInfo.EducatedMajor;
                txtCard.Text           = resumeInfo.ID_Card;
                txtBirthplace.Text     = resumeInfo.Birthplace;
                txtRace.Text           = resumeInfo.Race;
                cmbSex.Text            = resumeInfo.Sex;
                dtpBirthday.Value      = Convert.ToDateTime(resumeInfo.Birthday);
                cmbMaritalStatus.Text  = resumeInfo.MaritalStatus;
                txtMobilePhone.Text    = resumeInfo.Phone;
                txtResume.Text         = frm.UserCode;
                txtPhone.Text          = resumeInfo.EmergencyPhone;

                txtWorkHistory.Text     = resumeInfo.WorkHistory;
                txtEducatedHistory.Text = resumeInfo.EducatedHistory;
                txtFamilyMember.Text    = resumeInfo.FamilyMember;

                llbLoadAnnex.Visible = false;
                lblAnnexName.Visible = false;
            }
            else
            {
                MessageDialog.ShowPromptMessage("简历信息有误,请手动输入");
            }

            #region 人才库
            //HR_TrainEmploye trainEmploye = m_trainEmployeServer.GetInfoByID(Convert.ToInt32(frm.UserCode), out m_error);

            //if (trainEmploye != null)
            //{
            //    txtName.Text = trainEmploye.Name;
            //    txtNationality.Text = trainEmploye.Nationality;
            //    txtParty.Text = trainEmploye.Party;
            //    txtFamilyAddress.Text = trainEmploye.Address;
            //    txtCollege.Text = trainEmploye.College;
            //    cmbEducatedDegree.Text = trainEmploye.EducatedDegree;
            //    txtEducatedMajor.Text = trainEmploye.EducatedMajor;
            //    txtCard.Text = trainEmploye.ID_Card;
            //    txtBirthplace.Text = trainEmploye.Birthplace;
            //    txtRace.Text = trainEmploye.Race;
            //    cmbSex.Text = trainEmploye.Sex;
            //    dtpBirthday.Value = Convert.ToDateTime(trainEmploye.Birthday);
            //    cmbMaritalStatus.Text = trainEmploye.MaritalStatus;
            //    txtMobilePhone.Text = trainEmploye.Phone;
            //    txtResume.Text = frm.UserCode;
            //    txtPhone.Text = trainEmploye.EmergencyPhone;

            //    DataTable dt = m_trainEmployeServer.GetWorkHistory(Convert.ToInt32(frm.UserCode));

            //    if (dt != null && dt.Rows.Count > 0)
            //    {
            //        txtWorkHistory.Text = "";

            //        for (int i = 0; i < dt.Rows.Count; i++)
            //        {
            //            txtWorkHistory.Text += dt.Rows[i]["工作开始时间"].ToString() + "--" + dt.Rows[i]["截止时间"].ToString() + " " +
            //                 dt.Rows[i]["公司名称"].ToString() + " " + dt.Rows[i]["工作岗位"].ToString() + " " + dt.Rows[i]["月酬"].ToString() + "\r\n";
            //        }
            //    }

            //    dt = m_trainEmployeServer.GetEducatedHistory(Convert.ToInt32(frm.UserCode));

            //    if (dt != null && dt.Rows.Count > 0)
            //    {
            //        txtEducatedHistory.Text = "";

            //        for (int i = 0; i < dt.Rows.Count; i++)
            //        {
            //            txtEducatedHistory.Text += dt.Rows[i]["学习开始时间"].ToString() + "--" + dt.Rows[i]["学习截止时间"].ToString() + " " +
            //                 dt.Rows[i]["学校"].ToString() + " " + dt.Rows[i]["专业"].ToString() + " " + dt.Rows[i]["学历"].ToString() + "\r\n";
            //        }
            //    }

            //    dt = m_trainEmployeServer.GetFamilyMember(Convert.ToInt32(frm.UserCode));

            //    if (dt != null && dt.Rows.Count > 0)
            //    {
            //        txtFamilyMember.Text = "";

            //        for (int i = 0; i < dt.Rows.Count; i++)
            //        {
            //            txtFamilyMember.Text += dt.Rows[i]["称谓"].ToString() + " " + dt.Rows[i]["姓名"].ToString()
            //                + " " + dt.Rows[i]["单位"].ToString() + "\r\n";
            //        }
            //    }

            //    llbLoadAnnex.Visible = false;
            //    lblAnnexName.Visible = false;
            //}
            //else
            //{
            //    MessageDialog.ShowPromptMessage("简历信息有误,请手动输入");
            //}
            #endregion
        }
        /// <summary>
        /// 绑定控件
        /// </summary>
        void BindControl()
        {
            txtWorkID.Text            = m_personnelArchive.WorkID;
            txtName.Text              = m_personnelArchive.Name;
            cmbDept.Text              = m_departmentServer.GetDeptByDeptCode(m_personnelArchive.Dept).部门名称;
            cmbWorkPost.Text          = m_PostServer.GetOperatingPostByPostCode(m_personnelArchive.WorkPost);
            cmbJobTitle.Text          = m_JobServer.GetJobTitleByJobID(Convert.ToInt32(m_personnelArchive.JobLevelID));
            cmbLevel.Text             = m_JobServer.GetJobTitleByJobID(Convert.ToInt32(m_personnelArchive.JobLevelID));
            cmbSex.Text               = m_personnelArchive.Sex;
            cmbStatus.Text            = m_personnerServer.GetStatusByID(Convert.ToInt32(m_personnelArchive.PersonnelStatus));
            dtpBirthday.Value         = Convert.ToDateTime(m_personnelArchive.Birthday);
            txtNationality.Text       = m_personnelArchive.Nationality;
            txtRace.Text              = m_personnelArchive.Race;
            txtBirthplace.Text        = m_personnelArchive.Birthplace;
            txtParty.Text             = m_personnelArchive.Party;
            txtCard.Text              = m_personnelArchive.ID_Card;
            txtCollege.Text           = m_personnelArchive.College;
            cmbEducatedDegree.Text    = m_personnelArchive.EducatedDegree;
            txtEducatedMajor.Text     = m_personnelArchive.EducatedMajor;
            txtFamilyAddress.Text     = m_personnelArchive.FamilyAddress;
            txtPhone.Text             = m_personnelArchive.Phone;
            txtSpeciality.Text        = m_personnelArchive.Speciality;
            txtMobilePhone.Text       = m_personnelArchive.MobilePhone;
            txtQQ.Text                = m_personnelArchive.QQ;
            txtEmail.Text             = m_personnelArchive.Email;
            txtHobby.Text             = m_personnelArchive.Hobby;
            txtResume.Text            = m_personnelArchive.ResumeID.ToString();
            txtJobNature.Text         = m_personnelArchive.JobNature;
            txtGraduationYear.Text    = m_personnelArchive.GraduationYear.ToString();
            cmbLengthOfSchooling.Text = m_personnelArchive.LengthOfSchooling;
            cmbMaritalStatus.Text     = m_personnelArchive.MaritalStatus;
            cbCore.Checked            = Convert.ToBoolean(m_personnelArchive.IsCore);

            if (m_personnelArchive.JoinDate.ToString() != "")
            {
                dtpJoinDate.Value = Convert.ToDateTime(m_personnelArchive.JoinDate);
            }

            if (m_personnelArchive.DimissionDate.ToString() != "")
            {
                dtpDimissionDate.Checked = true;
                dtpDimissionDate.Value   = Convert.ToDateTime(m_personnelArchive.DimissionDate);
            }
            else
            {
                dtpDimissionDate.Checked = false;
            }

            if (m_personnelArchive.BecomeRegularEmployeeDate.ToString() != "")
            {
                dtpBecomeDate.Value   = Convert.ToDateTime(m_personnelArchive.BecomeRegularEmployeeDate);
                dtpBecomeDate.Checked = true;
            }
            else
            {
                dtpBecomeDate.Checked = false;
            }

            if (m_personnelArchive.TakeJobDate.ToString() != "")
            {
                dtpTakeJobDate.Value = Convert.ToDateTime(m_personnelArchive.TakeJobDate);
            }
            else
            {
                dtpTakeJobDate.Checked = false;
            }

            if (m_personnelArchive.Photo != null)
            {
                picbPhoto.Image = m_personnelArchive.Photo == null ? null : GetPicture(m_personnelArchive.Photo.ToArray());
            }

            if (m_personnelArchive.Annex != null)
            {
                m_picbyte         = m_personnelArchive.Annex == null ? null : m_personnelArchive.Annex.ToArray();
                m_pathName        = m_personnelArchive.AnnexName;
                lblAnnexName.Text = m_pathName;
            }
            else
            {
                llbLoadAnnex.Visible = false;
                lblAnnexName.Visible = false;
            }

            txtRemark.Text       = m_personnelArchive.Remark;
            txtRelation.Text     = m_personnelArchive.Relation;
            txtRelationName.Text = m_personnelArchive.RelationName;
            cbIsRelation.Checked = Convert.ToBoolean(m_personnelArchive.IsRelation);

            txtCard.ReadOnly   = true;
            txtWorkID.ReadOnly = true;

            DataTable dt = m_personnerServer.GetArchiveList(txtWorkID.Text);

            if (dt != null && dt.Rows.Count > 0)
            {
                txtRewardPunish.Text     = dt.Rows[0]["RewardPunish"].ToString();
                txtRegularization.Text   = dt.Rows[0]["Regularization"].ToString();
                txtPerformance.Text      = dt.Rows[0]["Performance"].ToString();
                txtDimission.Text        = dt.Rows[0]["Dimission"].ToString();
                txtDimissionView.Text    = dt.Rows[0]["DimissionView"].ToString();
                txtMedicalHistory.Text   = dt.Rows[0]["MedicalHistory"].ToString();
                cbMedicalHistory.Checked = Convert.ToBoolean(dt.Rows[0]["IsMedicalHistory"]);
                txtInMedicalHistory.Text = dt.Rows[0]["InMedicalHistory"].ToString();
            }

            //通过储备人才编号获得家庭、教育、工作经验
            if (txtResume.Text.Trim() != "")
            {
                dt = m_trainEmployeServer.GetWorkHistory(Convert.ToInt32(txtResume.Text));

                if (dt != null && dt.Rows.Count > 0)
                {
                    txtWorkHistory.Text = "";

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        txtWorkHistory.Text += dt.Rows[i]["工作开始时间"].ToString() + "--" + dt.Rows[i]["截止时间"].ToString() + " " +
                                               dt.Rows[i]["公司名称"].ToString() + " " + dt.Rows[i]["工作岗位"].ToString() + " " + dt.Rows[i]["月酬"].ToString() + "\r\n";
                    }
                }

                dt = m_trainEmployeServer.GetEducatedHistory(Convert.ToInt32(txtResume.Text));

                if (dt != null && dt.Rows.Count > 0)
                {
                    txtEducatedHistory.Text = "";

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        txtEducatedHistory.Text += dt.Rows[i]["学习开始时间"].ToString() + "--" + dt.Rows[i]["学习截止时间"].ToString() + " " +
                                                   dt.Rows[i]["学校"].ToString() + " " + dt.Rows[i]["专业"].ToString() + " " + dt.Rows[i]["学历"].ToString() + "\r\n";
                    }
                }

                dt = m_trainEmployeServer.GetFamilyMember(Convert.ToInt32(txtResume.Text));

                if (dt != null && dt.Rows.Count > 0)
                {
                    txtFamilyMember.Text = "";

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        txtFamilyMember.Text += dt.Rows[i]["称谓"].ToString() + " " + dt.Rows[i]["姓名"].ToString()
                                                + " " + dt.Rows[i]["单位"].ToString() + "\r\n";
                    }
                }
            }

            if (txtWorkHistory.Text.Trim() == "" && txtEducatedHistory.Text.Trim() == "" && txtFamilyMember.Text.Trim() == "")
            {
                HR_Resume resume = m_resumeServer.GetResumelInfo(txtCard.Text);

                if (resume != null)
                {
                    txtWorkHistory.Text     = resume.WorkHistory;
                    txtEducatedHistory.Text = resume.EducatedHistory;
                    txtFamilyMember.Text    = resume.FamilyMember;
                }
            }

            //获得岗位调动的记录
            dt = m_PostChangeServer.GetPostChangeByWorkID(txtWorkID.Text, out m_error);

            if (dt != null && dt.Rows.Count > 0)
            {
                txtPostChange.Text = "";

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    txtPostChange.Text += dt.Rows[i]["申请日期"].ToString() + " 由 " + dt.Rows[i]["原部门"].ToString()
                                          + " 的 " + dt.Rows[i]["原工作岗位"].ToString() + " 调入到 " + dt.Rows[i]["申请部门"].ToString()
                                          + " 的 " + dt.Rows[i]["申请岗位"].ToString() + " 调动原因:" + dt.Rows[i]["调动原因"].ToString() + "\r\n";
                }
            }

            //获得合同签订的记录
            dt = m_laborServer.GetPersonnelContarctByWorkID(txtWorkID.Text);

            if (dt != null && dt.Rows.Count > 0)
            {
                txtContract.Text = "";

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    txtContract.Text += dt.Rows[i]["合同起始时间"].ToString() + " -- " + dt.Rows[i]["合同终止时间"].ToString()
                                        + "  " + dt.Rows[i]["合同模板"].ToString() + "  " + dt.Rows[i]["合同状态"].ToString() + "\r\n";
                }
            }
        }
 /// <summary>
 /// 绑定控件
 /// </summary>
 void BindControl()
 {
     m_resume = m_resumeServer.GetResumelInfo(dataGridView1.CurrentRow.Cells["身份证"].Value.ToString());
 }
        /// <summary>
        /// 添加/更新人员简历
        /// </summary>
        /// <param name="resume">人员简历数据集</param>
        /// <param name="status">状态(1为修改,0为新增)</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True,失败返回False</returns>
        public bool AddResume(HR_Resume resume, int status, out string error)
        {
            error = "";

            try
            {
                DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

                var result = from a in dataContxt.HR_Resume
                             where a.ID_Card == resume.ID_Card
                             select a;

                if (result.Count() != 0)
                {
                    if (status == 1)//1 代表修改;0 代表新增
                    {
                        HR_Resume resumeList = result.Single();

                        resumeList.RecruitmentType         = resume.RecruitmentType;
                        resumeList.ResumeStatusID          = resume.ResumeStatusID;
                        resumeList.Sex                     = resume.Sex;
                        resumeList.Birthday                = resume.Birthday;
                        resumeList.Age                     = resume.Age;
                        resumeList.Height                  = resume.Height;
                        resumeList.Nationality             = resume.Nationality;
                        resumeList.Race                    = resume.Race;
                        resumeList.Birthplace              = resume.Birthplace;
                        resumeList.Party                   = resume.Party;
                        resumeList.MaritalStatus           = resume.MaritalStatus;
                        resumeList.College                 = resume.College;
                        resumeList.EducatedDegree          = resume.EducatedDegree;
                        resumeList.EducatedMajor           = resume.EducatedMajor;
                        resumeList.FamilyAddress           = resume.FamilyAddress;
                        resumeList.Postcode                = resume.Postcode;
                        resumeList.Photo                   = resume.Photo;
                        resumeList.EmergencyPhone          = resume.EmergencyPhone;
                        resumeList.Speciality              = resume.Speciality;
                        resumeList.EnglishLevel            = resume.EnglishLevel;
                        resumeList.ComputerLevel           = resume.ComputerLevel;
                        resumeList.ExistThirdPartyRelation = resume.ExistThirdPartyRelation;
                        resumeList.ThirdPartyRelation      = resume.ThirdPartyRelation;
                        resumeList.WorkingTenure           = resume.WorkingTenure;
                        resumeList.DesiredSalary           = resume.DesiredSalary;
                        resumeList.Phone                   = resume.Phone;
                        resumeList.Annex                   = resume.Annex;
                        resumeList.PathName                = resume.PathName;
                        resumeList.Remark                  = resume.Remark;
                        resumeList.EducatedHistory         = resume.EducatedHistory;
                        resumeList.WorkHistory             = resume.WorkHistory;
                        resumeList.FamilyMember            = resume.FamilyMember;
                        resumeList.Recorder                = resume.Recorder;
                        resumeList.RecordTime              = resume.RecordTime;
                    }
                    else
                    {
                        error = "身份证为【" + resume.ID_Card + "】,姓名叫【" + resume.Name + "】的人员已经存在!";
                        return(false);
                    }
                }
                else
                {
                    dataContxt.HR_Resume.InsertOnSubmit(resume);
                }

                dataContxt.SubmitChanges();

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }