private void TeacherExtDetail_Load(object sender, EventArgs e)
        {
            this.logAgent = new Log.LogAgent();

            DataListener = new ChangeListen();
            DataListener.Add(new TextBoxSource(txtBirthday));
            DataListener.Add(new TextBoxSource(txtAddress));
            DataListener.Add(new TextBoxSource(txtMobil));
            DataListener.Add(new TextBoxSource(txtOtherPhone));
            DataListener.Add(new TextBoxSource(txtPhone));
            DataListener.Add(new TextBoxSource(txtResearch));
            DataListener.Add(new TextBoxSource(txtMajorWorkPlace));
            DataListener.Add(new TextBoxSource(txtWebSiteUrl));
            DataListener.Add(new TextBoxSource(txtMemo));
            DataListener.Add(new TextBoxSource(txtEmployeeNo));
            DataListener.Add(new TextBoxSource(txtNtuSystemNo));
            DataListener.Add(new TextBoxSource(txtEnglishName));
            DataListener.StatusChanged += new EventHandler<ChangeEventArgs>(DataListener_StatusChanged);

            _BGWork = new BackgroundWorker();
            _BGWork.DoWork += new DoWorkEventHandler(_BGWork_DoWork);
            _BGWork.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_BGWork_RunWorkerCompleted);
            _isBGWorkBusy = false;

            _dicUTDs = new Dictionary<int, TeacherExtVO>();
            Access = new AccessHelper();
        }
        private void SemesterInfo_Load(object sender, EventArgs e)
        {
            this.cboSemester.Items.Clear();

            foreach(SemesterItem semester in SemesterItem.GetSemesterList())
                this.cboSemester.Items.Add(semester);

            xmlSystemConfig = new XmlDocument();
            xmlSystemConfig.LoadXml(Config.App["系統設定"].PreviousData.OuterXml);
            elmSchoolYear = (XmlElement)xmlSystemConfig.DocumentElement.SelectSingleNode("DefaultSchoolYear");
            elmSemester = (XmlElement)xmlSystemConfig.DocumentElement.SelectSingleNode("DefaultSemester");

            this.nudSchoolYear.Value = int.Parse(elmSchoolYear.InnerText);
            this.cboSemester.SelectedItem = SemesterItem.GetSemesterByCode(elmSemester.InnerText);

            /* Log */
            log = new Log.LogAgent();
            addLog();
        }
 private void saveLogs(List<ActiveRecord> delRecs, List<ActiveRecord> addRecs)
 {
     /* ====  Log  for deleted records =====*/
     foreach (UDT.AddDropCourse ci in delRecs)
     {
         Log.LogAgent agt = new Log.LogAgent();
         agt.ActionType = Log.LogActionType.Delete;
         this.AddLog(ci, agt);
         agt.Save("加退選.學生", "刪除", "", Log.LogTargetCategory.Student, ci.StudentID.ToString());
     }
     /* ====  Log  for inserted records =====*/
     foreach (UDT.AddDropCourse ci in addRecs)
     {
         Log.LogAgent agt = new Log.LogAgent();
         agt.ActionType = Log.LogActionType.AddNew;
         this.AddLog(ci, agt);
         agt.Save("加退選.學生", "新增", "", Log.LogTargetCategory.Student, ci.StudentID.ToString());
     }
 }
        private void Student_Brief2_Load(object sender, EventArgs e)
        {
            this.decDetailBase = new UDTDetailContentBase.SingleUDCDecorator<UDT.StudentBrief2>(this, "StudentID",false);
            this.decDetailBase.AfterDataLoaded += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentEventHandler(decDetailBase_AfterDataLoaded);
            this.decDetailBase.OnValidatingData += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentEventHandler(decDetailBase_OnValidatingData);
            this.decDetailBase.OnReadDataError += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentErrorEventHandler(decDetailBase_OnReadDataError);
            this.decDetailBase.OnSaveDataError += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentErrorEventHandler(decDetailBase_OnSaveDataError);
            this.decDetailBase.AfterDataSaved += new EventHandler(decDetailBase_AfterDataSaved);

            WatchChange(new TextBoxSource(this.txtGraduateSemester));
            WatchChange(new TextBoxSource(this.txtGraduateYear));
            //WatchChange(new TextBoxSource(this.txtEmail));

            //log
            this.logAgent = new Log.LogAgent();
        }
        private void SemesterInfo_Load(object sender, EventArgs e)
        {
            this.cboSemester.Items.Clear();

            foreach(SemesterItem semester in SemesterItem.GetSemesterList())
                this.cboSemester.Items.Add(semester);

            xmlSystemConfig = new XmlDocument();
            xmlSystemConfig.LoadXml(Config.App["系統設定"].PreviousData.OuterXml);
            elmSchoolYear = (XmlElement)xmlSystemConfig.DocumentElement.SelectSingleNode("DefaultSchoolYear");
            elmSemester = (XmlElement)xmlSystemConfig.DocumentElement.SelectSingleNode("DefaultSemester");

            List<UDT.ScoreInputSemester> ScoreInputSemesters = (new AccessHelper()).Select<UDT.ScoreInputSemester>();
            if (ScoreInputSemesters.Count == 0)
            {
                this.nudSchoolYear.Value = int.Parse(elmSchoolYear.InnerText);
                this.cboSemester.SelectedItem = SemesterItem.GetSemesterByCode(elmSemester.InnerText);
            }
            else
            {
                this.nudSchoolYear.Value = decimal.Parse(ScoreInputSemesters.ElementAt(0).SchoolYear.ToString());
                this.cboSemester.SelectedItem = SemesterItem.GetSemesterByCode(ScoreInputSemesters.ElementAt(0).Semester.ToString());
            }

            /* Log */
            log = new Log.LogAgent();
            addLog();
        }
        private void Student_Email_Load(object sender, EventArgs e)
        {
            this.decDetailBase = new UDTDetailContentBase.SingleUDCDecorator<UDT.StudentBrief2>(this, "StudentID", false);
            this.decDetailBase.AfterDataLoaded += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentEventHandler(decDetailBase_AfterDataLoaded);
            this.decDetailBase.OnValidatingData += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentEventHandler(decDetailBase_OnValidatingData);
            this.decDetailBase.OnReadDataError += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentErrorEventHandler(decDetailBase_OnReadDataError);
            this.decDetailBase.OnSaveDataError += new SingleUDCDecorator<UDT.StudentBrief2>.UDTDetailContentErrorEventHandler(decDetailBase_OnSaveDataError);
            this.decDetailBase.AfterDataSaved += new EventHandler(decDetailBase_AfterDataSaved);

            WatchChange(new TextBoxSource(this.txtEmail));

            //this.balloonTip1.SetBalloonCaption(this.btnDuplicate, "!");
            this.balloonTip1.SetBalloonText(this.btnDuplicate, "將此學生所有的 Email 複製到剪貼簿!");
            // this.balloonTip1.CaptionImage = global::WindowsApplication2.Properties.Resources.Warning;
            //this.balloonTip1.ShowBalloon(this.btnDuplicate);

            //log
            this.logAgent = new Log.LogAgent();
        }