示例#1
0
        // 儲存升級班級項目
        private void SaveClassItems(List <ClassItem> ClassItems)
        {
            // 更新學生畢業及離校資訊
            UpgradeClassDAL.UpdateStudentLeaveInfo(ClassItems);

            // 更新班級資訊
            UpgradeClassDAL.UpdateClassNameGradeYear(ClassItems);
        }
示例#2
0
        // 更改學生狀態
        private void UpdateStudentStatus(List <ClassItem> ClassItems, K12.Data.StudentRecord.StudentStatus oldStatus, K12.Data.StudentRecord.StudentStatus newStatus)
        {
            Dictionary <string, List <StudentItem> > StudentItems = new Dictionary <string, List <StudentItem> >();
            List <StudentItem> GraduateStudentItems = new List <StudentItem>();


            StudentItems = UpgradeClassDAL.getStudentItems(ClassItems, oldStatus);
            foreach (KeyValuePair <string, List <StudentItem> > si in StudentItems)
            {
                foreach (StudentItem sii in si.Value)
                {
                    sii.Status = newStatus;
                    GraduateStudentItems.Add(sii);
                }
            }
            UpgradeClassDAL.setStudentStatus(GraduateStudentItems);
        }
示例#3
0
 void bkWork_DoWork(object sender, DoWorkEventArgs e)
 {
     ClassItems = UpgradeClassDAL.getClassItems();
 }
示例#4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            btnSave.Enabled    = false;
            GraduateClassItems = new List <ClassItem>();
            UpgradeClassItems  = new List <ClassItem>();
            checkClassItems    = new List <ClassItem>();

            bool checkSaveGrauate = true;
            bool checkSaveUpgrade = true;

            // 調整後班級
            ClearDGRowCellErrorText(dgClassUpgrade.Rows, 4);

            if (checkNewClassName() == true)
            {
                return;
            }

            foreach (DataGridViewRow dgv in dgClassUpgrade.Rows)
            {
                if (dgv.Cells[4].Value != null)
                {
                    ClassItem ciClassItem = dgv.Cells[7].Value as ClassItem;
                    ciClassItem.newGradeYear = dgv.Cells[3].Value.ToString();
                    ciClassItem.newClassName = dgv.Cells[4].Value.ToString();

                    if (dgv.Cells[5].Value.ToString() == "畢業")
                    {
                        GraduateClassItems.Add(ciClassItem);
                    }

                    if (dgv.Cells[5].Value.ToString() == "升級")
                    {
                        UpgradeClassItems.Add(ciClassItem);
                    }
                }
            }



            checkClassItems = UpgradeClassDAL.checkUpdateClassName(GraduateClassItems);
            if (checkClassItems.Count > 0)
            {
                checkSaveGrauate = false;
                foreach (ClassItem ci in checkClassItems)
                {
                    foreach (DataGridViewRow drv in dgClassUpgrade.Rows)
                    {
                        if (drv.Cells[0].Value.ToString() == ci.ClassID)
                        {
                            drv.Cells[4].ErrorText = "畢業班級名稱與系統內有重覆!";
                            break;
                        }
                    }
                }
            }

            checkClassItems.Clear();
            checkClassItems = UpgradeClassDAL.checkUpdateClassName(UpgradeClassItems);
            if (checkClassItems.Count > 0)
            {
                List <string> classname = new List <string>();
                foreach (ClassItem ci in GraduateClassItems)
                {
                    classname.Add(ci.ClassName);
                }
                foreach (ClassItem ci in UpgradeClassItems)
                {
                    classname.Add(ci.ClassName);
                }

                List <ClassItem> rmClassItems = new List <ClassItem>();

                foreach (ClassItem cic in checkClassItems)
                {
                    if (classname.Contains(cic.newClassName))
                    {
                        rmClassItems.Add(cic);
                    }
                }
                foreach (ClassItem ci in rmClassItems)
                {
                    checkClassItems.Remove(ci);
                }
            }

            if (checkClassItems.Count > 0)
            {
                checkSaveUpgrade = false;
                foreach (ClassItem ci in checkClassItems)
                {
                    foreach (DataGridViewRow drv in dgClassUpgrade.Rows)
                    {
                        if (drv.Cells[0].Value.ToString() == ci.ClassID)
                        {
                            drv.Cells[4].ErrorText = "調整後班級名稱與系統內有重覆!";
                            break;
                        }
                    }
                }
            }



            if (GraduateClassItems.Count == 0 && UpgradeClassItems.Count == 0)
            {
                MessageBox.Show("請先設定升級或畢業");
                btnSave.Enabled = true;
                return;
            }


            if (checkSaveGrauate == true && checkSaveUpgrade == true)
            {
                // 使用 bk

                bkWorkUpgrd                     = new BackgroundWorker();
                bkWorkUpgrd.DoWork             += new DoWorkEventHandler(bkWorkUpgrd_DoWork);
                bkWorkUpgrd.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bkWorkUpgrd_RunWorkerCompleted);
                bkWorkUpgrd.RunWorkerAsync();
            }
            else
            {
                btnSave.Enabled = true;
            }
        }
示例#5
0
        // 班級升級
        private void UpgradeDGClassItem(UpgradeType ut)
        {
            // 對所選擇的 Row 判斷
            foreach (DataGridViewRow dgv in dgClassUpgrade.SelectedRows)
            {
                int defGrYear, upgradeGrYear, defClassYear;

                string ClassName = "", newClassName = "", ClassNamingRule = "";
                ClassName       = dgv.Cells[2].Value.ToString();
                ClassNamingRule = "" + dgv.Cells[6].Value;

                if (ut == UpgradeType.升級)
                {
                    bool checkNew = true;

                    if (dgv.Cells[5].Value != null)
                    {
                        if (dgv.Cells[5].Value.ToString() == "升級")
                        {
                            dgv.Cells[3].Value = "";
                            dgv.Cells[4].Value = "";
                            dgv.Cells[5].Value = "";
                            foreach (DataGridViewCell dd in dgv.Cells)
                            {
                                dd.Style.BackColor = Color.White;
                            }
                            checkNew = false;
                        }
                    }

                    if (checkNew == true)
                    {
                        int.TryParse(dgv.Cells[1].Value.ToString(), out defGrYear);
                        string strUpgradeGrYear;
                        upgradeGrYear      = defGrYear + 1;
                        dgv.Cells[3].Value = strUpgradeGrYear = upgradeGrYear.ToString();

                        // 檢查是否有命名規則
                        bool checkClassNamingRule = UpgradeClassDAL.ValidateNamingRule(ClassNamingRule);

                        if (checkClassNamingRule == true)
                        {
                            // 使用預設命名規則
                            newClassName       = UpgradeClassDAL.ParseClassName(ClassNamingRule, upgradeGrYear);
                            dgv.Cells[4].Value = newClassName;
                        }
                        else
                        {
                            // 沒有命名規則
                            newClassName = ClassName;
                            if (upgradeGrYear > 10)
                            {
                                newClassName = strUpgradeGrYear + ClassName.Substring(2, (ClassName.Length - 2));
                            }
                            else
                            {
                                newClassName = strUpgradeGrYear + ClassName.Substring(1, (ClassName.Length - 1));
                            }

                            dgv.Cells[4].Value = newClassName;
                        }
                        dgv.Cells[5].Value = "升級";
                        foreach (DataGridViewCell dd in dgv.Cells)
                        {
                            dd.Style.BackColor = Color.Yellow;
                        }
                    }
                }

                if (ut == UpgradeType.畢業)
                {
                    bool checkNew = true;

                    if (dgv.Cells[5].Value != null)
                    {
                        if (dgv.Cells[5].Value.ToString() == "畢業")
                        {
                            dgv.Cells[3].Value = "";
                            dgv.Cells[4].Value = "";
                            dgv.Cells[5].Value = "";
                            foreach (DataGridViewCell dd in dgv.Cells)
                            {
                                dd.Style.BackColor = Color.White;
                            }
                            checkNew = false;
                        }
                    }

                    if (checkNew == true)
                    {
                        dgv.Cells[3].Value = "";
                        dgv.Cells[4].Value = txtSchoolYear.Text + ClassName;
                        dgv.Cells[5].Value = "畢業";
                        foreach (DataGridViewCell dd in dgv.Cells)
                        {
                            dd.Style.BackColor = Color.LightCyan;
                        }
                    }
                }

                if (ut == UpgradeType.恢復)
                {
                    dgv.Cells[3].Value = "";
                    dgv.Cells[4].Value = "";
                    dgv.Cells[5].Value = "";
                    foreach (DataGridViewCell dd in dgv.Cells)
                    {
                        dd.Style.BackColor = Color.White;
                    }
                }
            }
        }