Example #1
0
        private XmlElement ConvertToXml(ProgramPlanRecord record)
        {
            DSXmlHelper helper = new DSXmlHelper("GraduationPlan");

            foreach (var subject in record.Subjects)
            {
                XmlElement element = null;

                element = helper.AddElement("Subject");
                element.SetAttribute("GradeYear", subject.GradeYear);
                element.SetAttribute("Semester", subject.Semester);
                element.SetAttribute("Credit", subject.Credit);
                element.SetAttribute("Period", subject.Period);
                element.SetAttribute("Domain", subject.Domain);
                element.SetAttribute("FullName", subject.FullName);
                element.SetAttribute("Level", subject.Level);
                element.SetAttribute("CalcFlag", "" + subject.CalcFlag);
                element.SetAttribute("SubjectName", subject.SubjectName);

                element = helper.AddElement("Subject", "Grouping");
                element.SetAttribute("RowIndex", "" + subject.RowIndex);
            }

            return(helper.BaseElement);

            //<Subject Credit="2" Domain="外國語文" FullName="ESL" Level="" NotIncludedInCalc="False" SubjectName="ESL">
            //    <Grouping RowIndex="1" />
            //</Subject>
        }
Example #2
0
        private void SetListView(ProgramPlanRecord record)
        {
            listViewEx1.SuspendLayout();
            listViewEx1.Items.Clear();
            listViewEx1.Groups.Clear();
            Dictionary <ClassRecord, int> classCount      = new Dictionary <ClassRecord, int>();
            List <StudentRecord>          noClassStudents = new List <StudentRecord>();

            foreach (StudentRecord stu in Student.Instance.Items)
            {
                if (stu.GetProgramPlanRecord() == record)
                {
                    if (stu.Class != null)
                    {
                        if (!classCount.ContainsKey(stu.Class))
                        {
                            classCount.Add(stu.Class, 0);
                        }
                        classCount[stu.Class]++;
                    }
                    else
                    {
                        noClassStudents.Add(stu);
                    }
                }
            }
            foreach (ClassRecord cla in classCount.Keys)
            {
                string groupKey;
                int    a;
                if (int.TryParse(cla.GradeYear, out a))
                {
                    groupKey = cla.GradeYear + " 年級";
                }
                else
                {
                    groupKey = cla.GradeYear;
                }
                ListViewGroup group = listViewEx1.Groups[groupKey];
                if (group == null)
                {
                    group = listViewEx1.Groups.Add(groupKey, groupKey);
                }
                listViewEx1.Items.Add(new ListViewItem(cla.Name + "(" + classCount[cla] + ") ", 0, group));
            }
            if (noClassStudents.Count > 0)
            {
                ListViewGroup group = listViewEx1.Groups["未分班"];
                if (group == null)
                {
                    group = listViewEx1.Groups.Add("未分班", "未分班");
                }
                foreach (StudentRecord stu in noClassStudents)
                {
                    listViewEx1.Items.Add(new ListViewItem(stu.Name + "[" + stu.StudentNumber + "]  ", 1, group));
                }
            }
            listViewEx1.ResumeLayout();
        }
 private void cboExistPlanList_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cboExistPlanList.SelectedItem == comboItem1)
     {
         _copy_record = null;
     }
     else
     {
         _copy_record = (ProgramPlanRecord)((ComboItem)cboExistPlanList.SelectedItem).Tag;
     }
 }
        internal ProgramPlanRecordEditor(ProgramPlanRecord record)
            : this()
        {
            ID   = record.ID;
            Name = record.Name;
            List <ProgramSubject> list = new List <ProgramSubject>();

            foreach (var subject in record.Subjects)
            {
                list.Add(subject.Clone() as ProgramSubject);
            }
            Subjects = list;

            ProgramPlan = record;
        }
Example #5
0
        private void RefreshItemPanel(string id)
        {
            ProgramPlanRecord record     = ProgramPlan.Instance.Items[id];
            ButtonItem        updateItem = null;

            foreach (ButtonItem item in itemPanel1.Items)
            {
                ProgramPlanRecord r = item.Tag as ProgramPlanRecord;
                if (r.ID == id)
                {
                    updateItem = item;
                    break;
                }
            }

            if (record != null && updateItem == null) //Insert
            {
                ButtonItem item = new ButtonItem();
                item.Text        = record.Name;
                item.Tag         = record;
                item.OptionGroup = "ProgramPlan";
                item.Click      += new EventHandler(item_Click);
                itemPanel1.Items.Add(item);
                item.RaiseClick();
            }
            else if (record != null && updateItem != null) //Update
            {
                updateItem.Tag = record;
                updateItem.RaiseClick();
            }
            else if (record == null && updateItem != null) //Delete
            {
                updateItem.Click -= new EventHandler(item_Click);
                itemPanel1.Items.Remove(updateItem);
                graduationPlanEditor1.Enabled = false;
                graduationPlanEditor1.SetSource(null);
                btnSave.Enabled = lblSaveWarning.Visible = false;
                labelX1.Text    = labelX2.Text = "";
            }

            itemPanel1.Refresh();
            itemPanel1.EnsureVisible(itemPanel1.Items[itemPanel1.Items.Count - 1]);
        }
 public static ProgramPlanRecordEditor GetEditor(this ProgramPlanRecord record)
 {
     return(new ProgramPlanRecordEditor(record));
 }