private void btnOK_Click(object sender, EventArgs e)
 {
     if (txtName.Text.Trim() == "")
     {
         MessageBox.Show("请输入姓名!", "提示", MessageBoxButtons.OK,
             MessageBoxIcon.Warning);
         txtName.Focus();
         return;
     }
     if (txtPassword.Text.Trim() == "")
     {
         MessageBox.Show("请输入密码!", "提示", MessageBoxButtons.OK,
             MessageBoxIcon.Warning);
         txtPassword.Focus();
         return;
     }
     if (txtPasswordConfirm.Text.Trim() == "")
     {
         MessageBox.Show("请输入确认密码!", "提示", MessageBoxButtons.OK,
             MessageBoxIcon.Warning);
         txtPasswordConfirm.Focus();
         return;
     }
     if (!txtPassword.Text.Trim().Equals(txtPasswordConfirm.Text.Trim()))
     {
         MessageBox.Show("两次输入的密码不一致,请重新输入!", "提示", MessageBoxButtons.OK,
             MessageBoxIcon.Warning);
         txtPasswordConfirm.Text = "";
         txtPasswordConfirm.Focus();
         return;
     }
     if (dtBeginTimeOne.Checked || dtEndTimeOne.Checked)
     {
         if (dtBeginTimeOne.Checked)
         {
             if (!dtEndTimeOne.Checked)
             {
                 MessageBox.Show("请选择下班时间1!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 dtEndTimeOne.Focus();
                 return;
             }
         }
         if (dtEndTimeOne.Checked)
         {
             if (!dtBeginTimeOne.Checked)
             {
                 MessageBox.Show("请选择上班时间1!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 dtBeginTimeOne.Focus();
                 return;
             }
         }
     }
     if (dtBeginTimeTwo.Checked || dtEndTimeTwo.Checked)
     {
         if (dtBeginTimeTwo.Checked)
         {
             if (!dtEndTimeTwo.Checked)
             {
                 MessageBox.Show("请选择下班时间2!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 dtEndTimeTwo.Focus();
                 return;
             }
         }
         if (dtEndTimeTwo.Checked)
         {
             if (!dtBeginTimeTwo.Checked)
             {
                 MessageBox.Show("请选择上班时间2!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 dtBeginTimeTwo.Focus();
                 return;
             }
         }
     }
     if (dtBeginTimeThree.Checked || dtEndTimeThree.Checked)
     {
         if (dtBeginTimeThree.Checked)
         {
             if (!dtEndTimeThree.Checked)
             {
                 MessageBox.Show("请选择下班时间3!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 dtEndTimeThree.Focus();
                 return;
             }
         }
         if (dtEndTimeThree.Checked)
         {
             if (!dtBeginTimeThree.Checked)
             {
                 MessageBox.Show("请选择上班时间3!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                 dtBeginTimeThree.Focus();
                 return;
             }
         }
     }
     List<SigninTime> stList = new List<SigninTime>();
     if (dtBeginTimeOne.Checked && dtEndTimeOne.Checked)
     {
         SigninTime st = new SigninTime();
         st.beginTime = dtBeginTimeOne.Value;
         st.endTime = dtEndTimeOne.Value;
         st.range = 1;
         stList.Add(st);
     }
     if (dtBeginTimeTwo.Checked && dtEndTimeTwo.Checked)
     {
         SigninTime st = new SigninTime();
         st.beginTime = dtBeginTimeTwo.Value;
         st.endTime = dtEndTimeTwo.Value;
         st.range = 2;
         stList.Add(st);
     }
     if (dtBeginTimeThree.Checked && dtEndTimeThree.Checked)
     {
         SigninTime st = new SigninTime();
         st.beginTime = dtBeginTimeThree.Value;
         st.endTime = dtEndTimeThree.Value;
         st.range = 3;
         stList.Add(st);
     }
     this.Name = txtName.Text;
     this.BirthDay = dtBirthDay.Value;
     this.Ethnic = txtEthnic.Text;
     this.Hometown = txtHometown.Text;
     this.Sex = cmbSex.Text;
     this.Degree = txtDegree.Text;
     this.School = txtSchool.Text;
     this.GraduationTime = dtGraduationTime.Value;
     this.Professional = txtProfessional.Text;
     this.Phone = txtPhone.Text;
     this.Address = txtAddress.Text;
     this.EntryDate = dtEntryDate.Value;
     this.Password = txtPassword.Text;
     this.signinTimeList = stList;
     this.DialogResult = DialogResult.OK;
 }
        private void btnUpdateTeacher_Click(object sender, EventArgs e)
        {
            if (teachersBindingSource.Position < 0)
                return;
            int rowIndex = dgvTeachers.CurrentRow.Index;
            List<SigninTime> stList = new List<SigninTime>();
            this.teacherSigninTimeTableAdapter.FillByTeacherID(teachersDataSet.TeacherSigninTime, teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<int>("ID"));
            if (teachersDataSet.TeacherSigninTime.Rows.Count > 0)
            {
                for (int i = 0; i < teachersDataSet.TeacherSigninTime.Rows.Count; i++)
                {
                    DataRow row = teachersDataSet.TeacherSigninTime.Rows[i];
                    SigninTime st = new SigninTime();
                    st.beginTime = row.Field<DateTime>("BeginTime");
                    st.endTime = row.Field<DateTime>("EndTime");
                    st.range = row.Field<int>("Range");
                    stList.Add(st);
                }
            }

            TeacherUpdateForm frmTeacherUpdate = new TeacherUpdateForm();
            frmTeacherUpdate.TeacherName = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Name");
            if (!teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].IsNull("BirthDay"))
            {
                frmTeacherUpdate.isBirthDayNull = false;
                frmTeacherUpdate.BirthDay = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<DateTime>("BirthDay");
            }
            else
            {
                frmTeacherUpdate.isBirthDayNull = true;
            }
            frmTeacherUpdate.Ethnic = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Ethnic");
            frmTeacherUpdate.Hometown = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Hometown");
            frmTeacherUpdate.Sex = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Sex");
            frmTeacherUpdate.Degree = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Degree");
            frmTeacherUpdate.School = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("School");
            if (!teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].IsNull("GraduationTime"))
            {
                frmTeacherUpdate.isGraduationTimeNull = false;
                frmTeacherUpdate.GraduationTime = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<DateTime>("GraduationTime");
            }
            else
            {
                frmTeacherUpdate.isGraduationTimeNull = true;
            }
            frmTeacherUpdate.Professional = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Professional");
            frmTeacherUpdate.Phone = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Phone");
            frmTeacherUpdate.Address = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Address");
            if (!teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].IsNull("EntryDate"))
            {
                frmTeacherUpdate.isEntryDateNull = false;
                frmTeacherUpdate.EntryDate = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<DateTime>("EntryDate");
            }
            else
            {
                frmTeacherUpdate.isEntryDateNull = true;
            }
            frmTeacherUpdate.Password = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<string>("Password");
            frmTeacherUpdate.signinTimeList = stList;
            if (frmTeacherUpdate.ShowDialog() != DialogResult.OK)
                return;
            int teacherID = teachersDataSet.Tearchers.Rows[teachersBindingSource.Position].Field<int>("ID");
            teachersTableAdapter.UpdateByID(frmTeacherUpdate.Name, frmTeacherUpdate.Phone, frmTeacherUpdate.Sex, frmTeacherUpdate.Address, frmTeacherUpdate.Password,
                frmTeacherUpdate.BirthDay, frmTeacherUpdate.Hometown, frmTeacherUpdate.Ethnic, frmTeacherUpdate.GraduationTime, frmTeacherUpdate.Degree, frmTeacherUpdate.School,
                frmTeacherUpdate.Professional, frmTeacherUpdate.EntryDate, teacherID);
            teacherSigninTimeTableAdapter.DeleteByTeacherID(teacherID);
            stList = frmTeacherUpdate.signinTimeList;
            foreach (SigninTime st in stList)
            {
                teacherSigninTimeTableAdapter.Insert(teacherID, null, DateTime.Parse(st.beginTime.ToShortTimeString()),
                    DateTime.Parse(st.endTime.ToShortTimeString()), st.range, DateTime.Now, User.CurrentUser.UserName);
            }
            teacherSigninReportTableAdapter.UpdateTeacherNameByTeacherID(frmTeacherUpdate.TeacherName, teacherID);
            teachersTableAdapter.Fill(teachersDataSet.Tearchers);
            if (rowIndex >= 0)
            {
                this.dgvTeachers.Rows[rowIndex].Selected = true;
                this.dgvTeachers.CurrentCell = this.dgvTeachers.Rows[rowIndex].Cells[0];
            }
            printTitle = "海鹰教育培训中心" + DateTime.Now.AddMonths(-1).ToString("yyyy年M月") + "工资表";
            this.teacherWagesTableAdapter.FillByLastMonth(this.teacherWageDataSet.TeacherWages);
        }