// Load minors static void MakeMinor(string description) { if (TryReadDocument(description, out Course minor)) { MasterList.AddMinor(minor); } }
public static void LoadData() { List <SubjectRecord> subjectRecords = new List <SubjectRecord>(); // Open csv to get subjects using (var reader = new StringReader(Properties.Resources.ScheduleOfUndergraduateUnits)) using (var csv = new CsvReader(reader)) { var record = new SubjectRecord(); var records = csv.EnumerateRecords(record); foreach (var r in records) { var subjectRecord = (SubjectRecord)r.Clone(); subjectRecord.InitialSetup(); // Make sure the subject is being offered if (subjectRecord.Actual.Semesters.Any()) { // subject codes should be unique - if this code already exists then replace it bool found = false; for (int i = 0; i < subjectRecords.Count; i++) { if (subjectRecords[i].Code == subjectRecord.Code) { found = true; subjectRecords[i] = subjectRecord; break; } } if (!found) { subjectRecords.Add(subjectRecord); } Debug.Assert(subjectRecords.Count(s => s.Code == subjectRecord.Code) == 1, "the code should appear exactly once"); } } } foreach (SubjectRecord subject in subjectRecords) { MasterList.AddSubject(subject.Actual); } Debug.WriteLine("loaded subjects"); StringBuilder descriptionBuilder = new StringBuilder();