Esempio n. 1
0
            // Load minors

            static void MakeMinor(string description)
            {
                if (TryReadDocument(description, out Course minor))
                {
                    MasterList.AddMinor(minor);
                }
            }
Esempio n. 2
0
        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();