예제 #1
0
 private void goToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         using (System.IO.StringReader reader = new System.IO.StringReader(textBox1.Text))
             using (CsvParser parser = new CsvParser(reader))
             {
                 var header = parser.ReadRecord();
                 if (header.Length != 11 || header[2] != "科目番号" || header[3] != "科目名 " || header[4] != "単位数" || header[7] != "総合評価")
                 {
                     return;
                 }
                 var ac = parser.ReadRecordToEnd()
                          .Where(a => a[7] != "D");
                 var achived = ac.Select(a => new ClassDefinition {
                     Id = a[2], Unit = float.Parse(a[4].Trim()), Name = a[3]
                 });
                 rootNode.Clear();
                 List <ClassDefinition> missed = new List <ClassDefinition>();
                 foreach (var item in achived)
                 {
                     if (!rootNode.AddClass(item))
                     {
                         missed.Add(item);
                     }
                 }
                 treeView1.Nodes[0].Nodes.Clear();
                 AddNodes(rootNode, treeView1.Nodes[0]);
                 treeView1.Nodes[0].Text = rootNode.ToString();
                 //treeView1.ExpandAll();
                 MessageBox.Show(string.Join(Environment.NewLine, missed.Select(a => a.ToString())), "Dead");
             }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }