예제 #1
0
        public void SetStudent(JHStudentRecord student, List <SemesterHistoryItem> semesterHistoryList)
        {
            ClearField();
            // 學期歷程
            _semesterHistoryList = semesterHistoryList;
            //ParentRecord parent = student.GetParent();
            //PhoneRecord phone = student.GetPhone();
            //AddressRecord address = student.GetAddress();

            JHParentRecord  parent  = JHParent.SelectByStudent(student);
            JHPhoneRecord   phone   = JHPhone.SelectByStudent(student);
            JHAddressRecord address = JHAddress.SelectByStudent(student);
            string          base64  = K12.Data.Photo.SelectGraduatePhoto(student.ID);

            // 畢業資訊
            JHLeaveInfoRecord GradeInfo = JHLeaveIfno.SelectByStudentID(student.ID);

            string EnrollSchoolYear = "";

            foreach (JHUpdateRecordRecord rec in JHUpdateRecord.SelectByStudentID(student.ID))
            {
                if (rec.UpdateCode == "1")
                {
                    int sc;
                    if (rec.EnrollmentSchoolYear.Length == 6)
                    {
                        int.TryParse(rec.EnrollmentSchoolYear.Substring(0, 4), out sc);
                        EnrollSchoolYear = (sc - 1911) + rec.EnrollmentSchoolYear.Substring(4, 2);
                    }
                }
            }

            _data["姓名"]     = student.Name;
            _data["性別"]     = student.Gender;
            _data["身分證號"]   = student.IDNumber;
            _data["學號"]     = student.StudentNumber;
            _data["出生日期"]   = Global.CDate(student.Birthday.HasValue ? student.Birthday.Value.ToShortDateString() : "");
            _data["國籍"]     = student.Nationality;
            _data["家長或監護人"] = (parent != null) ? parent.Custodian.Name : "";
            _data["關係"]     = (parent != null) ? parent.Custodian.Relationship : "";
            _data["行動電話"]   = (phone != null) ? phone.Cell : "";
            _data["戶籍電話"]   = (phone != null) ? phone.Permanent : "";
            _data["戶籍地址"]   = (address != null) ? address.Permanent.ToString() : "";
            _data["聯絡電話"]   = (phone != null) ? phone.Contact : "";
            _data["聯絡地址"]   = (address != null) ? address.Mailing.ToString() : "";
            _data["證書字號"]   = GradeInfo.DiplomaNumber;
            _data["入學年月"]   = EnrollSchoolYear;
            _data["照片"]     = base64;

            // 處理服務學習時數
            if (Global._SLRDict.ContainsKey(student.ID))
            {
                foreach (SemesterHistoryItem shi in _semesterHistoryList)
                {
                    string key = shi.SchoolYear + "_" + shi.Semester;
                    if (Global._SLRDict[student.ID].ContainsKey(key))
                    {
                        string val = Global._SLRDict[student.ID][key];

                        if ((shi.GradeYear == 1 || shi.GradeYear == 7) && shi.Semester == 1)
                        {
                            _data["SLR1A"] = val;
                        }

                        if ((shi.GradeYear == 1 || shi.GradeYear == 7) && shi.Semester == 2)
                        {
                            _data["SLR1B"] = val;
                        }

                        if ((shi.GradeYear == 2 || shi.GradeYear == 8) && shi.Semester == 1)
                        {
                            _data["SLR2A"] = val;
                        }

                        if ((shi.GradeYear == 2 || shi.GradeYear == 8) && shi.Semester == 2)
                        {
                            _data["SLR2B"] = val;
                        }

                        if ((shi.GradeYear == 3 || shi.GradeYear == 9) && shi.Semester == 1)
                        {
                            _data["SLR3A"] = val;
                        }

                        if ((shi.GradeYear == 3 || shi.GradeYear == 9) && shi.Semester == 2)
                        {
                            _data["SLR3B"] = val;
                        }
                    }
                }
            }
        }
예제 #2
0
        private void btnNext_Click(object sender, EventArgs e)
        {
            _StudUpdateRecordEntity.SetUpdateDate(dtUpdateDate.Text);
            _StudUpdateRecordEntity.SetComment(txtComment.Text);
            _StudUpdateRecordEntity.SetClassName(txtClass.Text);
            _StudUpdateRecordEntity.SetName(txtName.Text);
            _StudUpdateRecordEntity.SetIDNumber(txtIDNumber.Text);
            _StudUpdateRecordEntity.SetStudentNumber(txtStudentNumber.Text);
            _StudUpdateRecordEntity.SetGender(cboGender.Text);
            _StudUpdateRecordEntity.SetBirthday(dtBirthday.Text);
            _StudUpdateRecordEntity.SetAddress(txtAddress.Text);
            _StudUpdateRecordEntity.SetImportExportSchool(txtExportSchool.Text);
            _StudUpdateRecordEntity.SetLastADDate(dtLastADDate.Text);
            _StudUpdateRecordEntity.SetLastADNumber(txtLastADNumber.Text);
            _StudUpdateRecordEntity.SetADDate(dtADDate.Text);
            _StudUpdateRecordEntity.SetADNumber(txtADNumber.Text);
            _StudUpdateRecordEntity.SetUpdateDescription(cboUpdateDescription.Text);
            int intSchoolYear, intSemester;

            int.TryParse(JHSchool.School.DefaultSchoolYear, out intSchoolYear);
            int.TryParse(JHSchool.School.DefaultSemester, out intSemester);
            _StudUpdateRecordEntity.SchoolYear = intSchoolYear;
            _StudUpdateRecordEntity.Semester   = intSemester;
            _StudUpdateRecordEntity.SetUpdateCode("3");

            // 檢查相同學年度學期異動日期
            List <JHUpdateRecordRecord> StudUpRecList = JHUpdateRecord.SelectByStudentID(_StudUpdateRecordEntity.StudentID);

            foreach (JHUpdateRecordRecord urr in StudUpRecList)
            {
                // 轉入
                if (urr.UpdateCode == "3" && urr.SchoolYear == intSchoolYear && urr.Semester == intSemester)
                {
                    DateTime dtA, dtB;
                    DateTime.TryParse(urr.UpdateDate, out dtA);
                    DateTime.TryParse(dtUpdateDate.Text, out dtB);
                    // 相同異動日期
                    if (dtA == dtB)
                    {
                        if (FISCA.Presentation.Controls.MsgBox.Show("已有一筆相同學年度、學期、異動日期的轉入異動,請問是否覆蓋?", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            JHUpdateRecord.Delete(urr);
                            _StudUpdateRecordEntity.UID = string.Empty;
                        }
                        else
                        {
                            return;
                        }
                    }
                }
            }

            // Save
            DAL.DALTransfer2.SetStudUpdateRecordEntity(_StudUpdateRecordEntity);

            // log
            JHSchool.PermRecLogProcess prlp = new JHSchool.PermRecLogProcess();
            prlp.SaveLog("學生.轉入異動", "新增轉入異動", "新增轉入異動資料,姓名:" + _StudUpdateRecordEntity.GetName() + ",學號:" + _StudUpdateRecordEntity.GetStudentNumber());

            this.Close();
        }