Exemple #1
0
        public void SetItem(MeritStatisticItem meritStatisticItem)
        {
            MeritStatisticItem item = GetItem(meritStatisticItem.SchoolYear, meritStatisticItem.Semester, meritStatisticItem.MeritType);

            if (item == null)
            {
                Items.Add(meritStatisticItem);
            }
            else
            {
                item.Count = meritStatisticItem.Count;
            }
        }
Exemple #2
0
        public Step3(TransferStudentForm parent)
        {
            InitializeComponent();

            _parent = parent;

            if (Student.Instance.SelectedList.Count == 0)
            {
                return;
            }
            _studentID = Student.Instance.SelectedList[0].ID;

            dgMeritStatistic.Columns.Add(SCHOOL_YEAR_COLUMN, SCHOOL_YEAR_COLUMN);
            dgMeritStatistic.Columns[SCHOOL_YEAR_COLUMN].Width = 75;
            dgMeritStatistic.Columns.Add(SEMESTER_COLUMN, SEMESTER_COLUMN);
            dgMeritStatistic.Columns[SEMESTER_COLUMN].Width = 60;

            _meritTypes = TransferStudentDAL.GetMeritTypes();

            foreach (string merit in _meritTypes)
            {
                int columnIndex = dgMeritStatistic.Columns.Add(merit, merit);
                dgMeritStatistic.Columns[columnIndex].Width = 60;
            }

            foreach (SemesterHistoryData sh in TransferStudentDAL.GetSemesterHistory(_studentID))
            {
                int rowIndex = dgMeritStatistic.Rows.Add();

                DataGridViewRow row = dgMeritStatistic.Rows[rowIndex];
                row.Tag = sh;

                DataGridViewCell cell = row.Cells[SCHOOL_YEAR_COLUMN];
                cell.Value    = sh.SchoolYear;
                cell.ReadOnly = true;

                cell          = row.Cells[SEMESTER_COLUMN];
                cell.Value    = sh.Semester;
                cell.ReadOnly = true;

                //把值塞進來 .....
                foreach (string mt in _meritTypes)
                {
                    MeritStatisticItem item = _parent.TransferStudentData.MeritStatisticData.GetItem(sh.SchoolYear, sh.Semester, mt);

                    if (item != null)
                    {
                        row.Cells[mt].Value = item.Count;
                    }
                }
            }

            //處理缺曠輸入畫面
            dgAbsence.Columns.Add(SCHOOL_YEAR_COLUMN, SCHOOL_YEAR_COLUMN);
            dgAbsence.Columns[SCHOOL_YEAR_COLUMN].Width = 75;
            dgAbsence.Columns.Add(SEMESTER_COLUMN, SEMESTER_COLUMN);
            dgAbsence.Columns[SEMESTER_COLUMN].Width = 60;

            _periodTypes = TransferStudentDAL.GetPeriodTypeItems();
            _absenceList = TransferStudentDAL.GetAbsenceItems();

            foreach (string periodType in _periodTypes)
            {
                foreach (string each in _absenceList)
                {
                    string columnName = periodType + each;

                    dgAbsence.Columns.Add(columnName, columnName);
                    dgAbsence.Columns[columnName].Width = 60;
                    dgAbsence.Columns[columnName].Tag   = periodType + ":" + each;
                }
            }

            // 塞入缺曠之預設值
            foreach (SemesterHistoryData sh in TransferStudentDAL.GetSemesterHistory(_studentID))
            {
                int             rowIndex = dgAbsence.Rows.Add();
                DataGridViewRow row      = dgAbsence.Rows[rowIndex];

                row.Cells[SCHOOL_YEAR_COLUMN].Value = sh.SchoolYear;
                row.Cells[SEMESTER_COLUMN].Value    = sh.Semester;

                foreach (string periodType in _periodTypes)
                {
                    foreach (string each in _absenceList)
                    {
                        string columnName = periodType + each;

                        AbsenceItem item = _parent.TransferStudentData.AbsenceData.GetItem(sh.SchoolYear, sh.Semester, periodType, each);

                        if (item != null)
                        {
                            row.Cells[columnName].Value = item.Count;
                        }
                    }
                }
            }
        }
        public TransferStudentData(XmlElement response)
        {
            this.DailyBehaviorData      = new DailyBehaviorData();
            this.GroupActivityData      = new GroupActivityData();
            this.PublicServiceData      = new PublicServiceData();
            this.SchoolSpecialData      = new SchoolSpecialData();
            this.DailyLifeRecommendData = new DailyLifeRecommendData();
            this.AbsenceData            = new AbsenceData();
            this.MeritStatisticData     = new MeritStatisticData();
            this.SourceFlags            = new List <SourceFlag>();
            if (response == null)
            {
                return;
            }

            foreach (XmlNode node in response.SelectNodes("SemesterMoralScore"))
            {
                string schoolyear = node.SelectSingleNode("SchoolYear").InnerText;
                string semester   = node.SelectSingleNode("Semester").InnerText;

                SourceFlag sourceFlag = new SourceFlag();
                sourceFlag.SchoolYear = schoolyear;
                sourceFlag.Semester   = semester;
                XmlElement sourceElement;

                if (node.SelectSingleNode("Summary").ChildNodes.Count > 0)
                {
                    sourceFlag.Flag          = Flag.Summary;
                    sourceElement            = (XmlElement)node.SelectSingleNode("Summary");
                    sourceFlag.SourceElement = sourceElement;
                }
                else
                {
                    sourceFlag.Flag          = Flag.IntialSummary;
                    sourceElement            = (XmlElement)node.SelectSingleNode("InitialSummary");
                    sourceFlag.SourceElement = sourceElement;
                }
                SourceFlags.Add(sourceFlag);

                //處理日常生活表現
                foreach (XmlNode itemNode in node.SelectNodes("TextScore/DailyBehavior/Item"))
                {
                    XmlElement        itemElement = (XmlElement)itemNode;
                    DailyBehaviorItem item        = new DailyBehaviorItem();

                    item.SchoolYear = schoolyear;
                    item.Semester   = semester;
                    item.Degree     = itemElement.GetAttribute("Degree");
                    item.Name       = itemElement.GetAttribute("Name");
                    item.Index      = itemElement.GetAttribute("Index");
                    this.DailyBehaviorData.Items.Add(item);
                }

                //處理團隊活動表現
                foreach (XmlNode itemNode in node.SelectNodes("TextScore/GroupActivity/Item"))
                {
                    XmlElement        itemElement = (XmlElement)itemNode;
                    GroupActivityItem item        = new GroupActivityItem();

                    item.SchoolYear = schoolyear;
                    item.Semester   = semester;
                    item.Degree     = itemElement.GetAttribute("Degree");
                    item.Name       = itemElement.GetAttribute("Name");
                    item.Text       = itemElement.GetAttribute("Description");
                    this.GroupActivityData.Items.Add(item);
                }

                //處理公共服務表現
                foreach (XmlNode itemNode in node.SelectNodes("TextScore/PublicService/Item"))
                {
                    XmlElement        itemElement = (XmlElement)itemNode;
                    PublicServiceItem item        = new PublicServiceItem();

                    item.SchoolYear  = schoolyear;
                    item.Semester    = semester;
                    item.Name        = itemElement.GetAttribute("Name");
                    item.Description = itemElement.GetAttribute("Description");
                    this.PublicServiceData.Items.Add(item);
                }

                //處理校內外特殊表現
                foreach (XmlNode itemNode in node.SelectNodes("TextScore/SchoolSpecial/Item"))
                {
                    XmlElement        itemElement = (XmlElement)itemNode;
                    SchoolSpecialItem item        = new SchoolSpecialItem();

                    item.SchoolYear  = schoolyear;
                    item.Semester    = semester;
                    item.Name        = itemElement.GetAttribute("Name");
                    item.Description = itemElement.GetAttribute("Description");
                    this.SchoolSpecialData.Items.Add(item);
                }

                //日常生活表現具體建議
                //foreach (XmlNode itemNode in node.SelectNodes("TextScore/DailyLifeRecommend/Item"))
                foreach (XmlNode itemNode in node.SelectNodes("TextScore/DailyLifeRecommend"))
                {
                    XmlElement             itemElement = (XmlElement)itemNode;
                    DailyLifeRecommendItem item        = new DailyLifeRecommendItem();

                    item.SchoolYear  = schoolyear;
                    item.Semester    = semester;
                    item.Name        = itemElement.GetAttribute("Name");
                    item.Description = itemElement.GetAttribute("Description");
                    this.DailyLifeRecommendData.Items.Add(item);
                }

                //缺曠統計
                foreach (XmlNode itemNode in sourceElement.SelectNodes("AttendanceStatistics/Absence"))
                {
                    XmlElement  itemElement = (XmlElement)itemNode;
                    AbsenceItem item        = new AbsenceItem();

                    item.SchoolYear = schoolyear;
                    item.Semester   = semester;
                    item.Name       = itemElement.GetAttribute("Name");
                    item.PeriodType = itemElement.GetAttribute("PeriodType");

                    int count;
                    if (!int.TryParse(itemElement.GetAttribute("Count"), out count))
                    {
                        count = 0;
                    }
                    item.Count = count;

                    this.AbsenceData.Items.Add(item);
                }

                //懲統計
                foreach (XmlNode itemNode in sourceElement.SelectNodes("DisciplineStatistics/Demerit"))
                {
                    XmlElement         itemElement = (XmlElement)itemNode;
                    MeritStatisticItem itemA       = new MeritStatisticItem();

                    itemA.SchoolYear = schoolyear;
                    itemA.Semester   = semester;
                    itemA.MeritType  = "大過";
                    int count;
                    if (!int.TryParse(itemElement.GetAttribute("A"), out count))
                    {
                        count = 0;
                    }
                    itemA.Count = count;

                    this.MeritStatisticData.Items.Add(itemA);

                    MeritStatisticItem itemB = new MeritStatisticItem();

                    itemB.SchoolYear = schoolyear;
                    itemB.Semester   = semester;
                    itemB.MeritType  = "小過";

                    if (!int.TryParse(itemElement.GetAttribute("B"), out count))
                    {
                        count = 0;
                    }
                    itemB.Count = count;

                    this.MeritStatisticData.Items.Add(itemB);

                    MeritStatisticItem itemC = new MeritStatisticItem();

                    itemC.SchoolYear = schoolyear;
                    itemC.Semester   = semester;
                    itemC.MeritType  = "警告";

                    if (!int.TryParse(itemElement.GetAttribute("C"), out count))
                    {
                        count = 0;
                    }
                    itemC.Count = count;

                    this.MeritStatisticData.Items.Add(itemC);
                }

                //獎統計
                foreach (XmlNode itemNode in sourceElement.SelectNodes("DisciplineStatistics/Merit"))
                {
                    XmlElement         itemElement = (XmlElement)itemNode;
                    MeritStatisticItem itemA       = new MeritStatisticItem();

                    itemA.SchoolYear = schoolyear;
                    itemA.Semester   = semester;
                    itemA.MeritType  = "大功";
                    int count;
                    if (!int.TryParse(itemElement.GetAttribute("A"), out count))
                    {
                        count = 0;
                    }
                    itemA.Count = count;

                    this.MeritStatisticData.Items.Add(itemA);

                    MeritStatisticItem itemB = new MeritStatisticItem();

                    itemB.SchoolYear = schoolyear;
                    itemB.Semester   = semester;
                    itemB.MeritType  = "小功";

                    if (!int.TryParse(itemElement.GetAttribute("B"), out count))
                    {
                        count = 0;
                    }
                    itemB.Count = count;

                    this.MeritStatisticData.Items.Add(itemB);

                    MeritStatisticItem itemC = new MeritStatisticItem();

                    itemC.SchoolYear = schoolyear;
                    itemC.Semester   = semester;
                    itemC.MeritType  = "嘉獎";

                    if (!int.TryParse(itemElement.GetAttribute("C"), out count))
                    {
                        count = 0;
                    }
                    itemC.Count = count;

                    this.MeritStatisticData.Items.Add(itemC);
                }
            }
        }
Exemple #4
0
        public void OnChangeStep()
        {
            foreach (DataGridViewRow row in dgMeritStatistic.Rows)
            {
                foreach (DataGridViewColumn column in dgMeritStatistic.Columns)
                {
                    if (column.Name == SCHOOL_YEAR_COLUMN)
                    {
                        continue;
                    }
                    if (column.Name == SEMESTER_COLUMN)
                    {
                        continue;
                    }

                    MeritStatisticItem item = new MeritStatisticItem();

                    item.SchoolYear = row.Cells[SCHOOL_YEAR_COLUMN].Value.ToString();
                    item.Semester   = row.Cells[SEMESTER_COLUMN].Value.ToString();

                    int count = 0;
                    if (row.Cells[column.Name].Value != null)
                    {
                        string value = row.Cells[column.Name].Value.ToString();

                        if (!int.TryParse(value, out count))
                        {
                            count = 0;
                        }
                    }

                    item.MeritType = column.Name;
                    item.Count     = count;

                    _parent.TransferStudentData.MeritStatisticData.SetItem(item);
                }
            }

            foreach (DataGridViewRow row in dgAbsence.Rows)
            {
                foreach (DataGridViewColumn column in dgAbsence.Columns)
                {
                    if (column.Name == SCHOOL_YEAR_COLUMN)
                    {
                        continue;
                    }
                    if (column.Name == SEMESTER_COLUMN)
                    {
                        continue;
                    }

                    AbsenceItem item = new AbsenceItem();

                    item.SchoolYear = row.Cells[SCHOOL_YEAR_COLUMN].Value.ToString();
                    item.Semester   = row.Cells[SEMESTER_COLUMN].Value.ToString();

                    int count = 0;
                    if (row.Cells[column.Name].Value != null)
                    {
                        string value = row.Cells[column.Name].Value.ToString();

                        if (!int.TryParse(value, out count))
                        {
                            count = 0;
                        }
                    }

                    string[] tagSplit   = column.Tag.ToString().Split(':');
                    string   periodType = tagSplit[0];
                    string   name       = tagSplit[1];

                    item.PeriodType = periodType;
                    item.Name       = name;
                    item.Count      = count;

                    _parent.TransferStudentData.AbsenceData.SetItem(item);
                }
            }
        }