static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // our "databases" List<Admin> AdminList = new List<Admin>(); List<Faculty> FacultyList = new List<Faculty>(); List<Student> StudentList = new List<Student>(); List<courseinfo> NextCourses = new List<courseinfo>(); List<courseinfo> PrevCourses = new List<courseinfo>(); string line = "Yes"; string nxtterm = "S13"; while (line != null) { try { string username; string firstname; string lastname; string middlename; string status; string password; StreamReader freader = new StreamReader("UserInput.txt"); line = freader.ReadLine(); if (line != null) { username = line.Substring(0, 10).Trim(); password = line.Substring(10, 10).Trim(); firstname = line.Substring(20, 15).Trim(); middlename = line.Substring(35, 15).Trim(); lastname = line.Substring(50, 15).Trim(); status = line.Substring(65).Trim(); if (status == "Admin") { Admin A = new Admin(username, password, firstname, middlename, lastname, status); AdminList.Add(A); } else if (status == "Faculty") { Faculty F = new Faculty(username, password, firstname, middlename, lastname, status); FacultyList.Add(F); } else { Student S = new Student(username, password, firstname, middlename, lastname, status); StudentList.Add(S); } } else { freader.Close(); //button1.Visible = false; //MessageBox.Show("File is now complete."); } } catch (EndOfStreamException) { } } line = "Yes"; while (line != null) { try { string coursename; string coursetitle; string instructor; double credit; int seats; int timeblocks; List<coursetime> times = new List<coursetime>(); StreamReader sr = new StreamReader("ClassInput.txt"); { while (line != null) { coursename = line.Substring(0, 11).Trim(); coursetitle = line.Substring(11, 16).Trim(); instructor = line.Substring(27, 11).Trim(); credit = double.Parse(line.Substring(38, 5).Trim()); seats = int.Parse(line.Substring(43, 4).Trim()); timeblocks = int.Parse(line.Substring(47, 2).Trim()); string timeline = line.Substring(49).Trim(); int numTimes = timeblocks; for (int i = 0; i < numTimes; i++) { int begin = (0 + (i * 5)); coursetime c = new coursetime(timeline.Substring(begin, 5)); times.Add(c); } courseinfo myCourse = new courseinfo(coursename, coursetitle, instructor, credit, seats, times); NextCourses.Add(myCourse); //MessageBox.Show("There are " + Courses.Count + " Courses."); line = sr.ReadLine(); } sr.Close(); //MessageBox.Show("File is now complete."); } } catch { MessageBox.Show("There was an Error"); } } //add advisees/schedule to faculty foreach (Faculty prof in FacultyList) { foreach (Student stud in StudentList) { if (prof.UserName == stud.Status) prof.Advisees.Add(stud.UserName); } foreach (courseinfo course in NextCourses) { if (prof.UserName == course.Instructor) prof.Next.Add(course.Coursename); } } line = "Yes"; try { string username; int numcourses; string coursename; string term; double credit; string grade; StreamReader sr = new StreamReader("HistoryInput.txt"); while (!sr.EndOfStream) { line = sr.ReadLine(); username = line.Substring(0, 10); line.Remove(0, 10); line = line.TrimStart(); numcourses = int.Parse(line.Substring(0, 2)); line.Remove(0, 2); line = line.TrimStart(); // find index of student int undx = 0; foreach (Student stud in StudentList) { if (stud.UserName == username) break; ++undx; } for (int i = 0; i < numcourses; ++i) { coursename = line.Substring(0, 10); line.Remove(0, 10); line = line.TrimStart(); term = line.Substring(0, 3); line.Remove(0, 3); line = line.TrimStart(); credit = double.Parse(line.Substring(0, 4)); line.Remove(0, 4); line = line.TrimStart(); grade = line.Substring(0, 3); line.Remove(0, 3); line = line.TrimStart(); // fixed maybe? if (grade.Contains("N")) { if (term == nxtterm) StudentList[undx].Current.Add(coursename); // Users[undx].Add(new courserecord(coursename, term, credit, grade); else StudentList[undx].Next.Add(coursename); } else StudentList[undx].History.Add(new courserecord(coursename, term, credit, grade)); } } } catch (Exception e) { Console.WriteLine("Invalid History Input File"); Console.WriteLine(e.Message); } foreach (courseinfo course in NextCourses) { foreach (Student stud in StudentList) { if (stud.Next.Contains(course.Coursename)) { stud.EnrolledCredits += course.Credit; course.Students.Add(stud.UserName); ++course.Enrolled; } } } // read course prereq database line = "Yes"; try { string coursename; int numprereq; string prereq; StreamReader sr = new StreamReader("PrereqInput.txt"); while (!sr.EndOfStream) { line = sr.ReadLine(); coursename = line.Substring(0, 7); line.Remove(0, 7); line = line.TrimStart(); numprereq = int.Parse(line.Substring(0, 2)); line.Remove(0, 2); line = line.TrimStart(); int cndx = 0; foreach (courseinfo course in NextCourses) { if (course.SecLessName == coursename) break; ++cndx; } for (int i = 0; i < numprereq; ++i) { prereq = line.Substring(0, 7); line.Remove(0, 7); line = line.TrimStart(); NextCourses[cndx].Prereqs.Add(prereq); } } } catch (Exception e) { Console.WriteLine("Invalid Prereq Input File"); Console.WriteLine(e.Message); } //LAUNCH FORMS AND THINGS HERE Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new LoginForm(AdminList, FacultyList, StudentList, NextCourses, PrevCourses)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // our "databases" List <Admin> AdminList = new List <Admin>(); List <Faculty> FacultyList = new List <Faculty>(); List <Student> StudentList = new List <Student>(); List <courseinfo> NextCourses = new List <courseinfo>(); List <courseinfo> PrevCourses = new List <courseinfo>(); string line = "Yes"; string nxtterm = "S13"; while (line != null) { try { string username; string firstname; string lastname; string middlename; string status; string password; StreamReader freader = new StreamReader("UserInput.txt"); line = freader.ReadLine(); if (line != null) { username = line.Substring(0, 10).Trim(); password = line.Substring(10, 10).Trim(); firstname = line.Substring(20, 15).Trim(); middlename = line.Substring(35, 15).Trim(); lastname = line.Substring(50, 15).Trim(); status = line.Substring(65).Trim(); if (status == "Admin") { Admin A = new Admin(username, password, firstname, middlename, lastname, status); AdminList.Add(A); } else if (status == "Faculty") { Faculty F = new Faculty(username, password, firstname, middlename, lastname, status); FacultyList.Add(F); } else { Student S = new Student(username, password, firstname, middlename, lastname, status); StudentList.Add(S); } } else { freader.Close(); //button1.Visible = false; //MessageBox.Show("File is now complete."); } } catch (EndOfStreamException) { } } line = "Yes"; while (line != null) { try { string coursename; string coursetitle; string instructor; double credit; int seats; int timeblocks; List <coursetime> times = new List <coursetime>(); StreamReader sr = new StreamReader("ClassInput.txt"); { while (line != null) { coursename = line.Substring(0, 11).Trim(); coursetitle = line.Substring(11, 16).Trim(); instructor = line.Substring(27, 11).Trim(); credit = double.Parse(line.Substring(38, 5).Trim()); seats = int.Parse(line.Substring(43, 4).Trim()); timeblocks = int.Parse(line.Substring(47, 2).Trim()); string timeline = line.Substring(49).Trim(); int numTimes = timeblocks; for (int i = 0; i < numTimes; i++) { int begin = (0 + (i * 5)); coursetime c = new coursetime(timeline.Substring(begin, 5)); times.Add(c); } courseinfo myCourse = new courseinfo(coursename, coursetitle, instructor, credit, seats, times); NextCourses.Add(myCourse); //MessageBox.Show("There are " + Courses.Count + " Courses."); line = sr.ReadLine(); } sr.Close(); //MessageBox.Show("File is now complete."); } } catch { MessageBox.Show("There was an Error"); } } //add advisees/schedule to faculty foreach (Faculty prof in FacultyList) { foreach (Student stud in StudentList) { if (prof.UserName == stud.Status) { prof.Advisees.Add(stud.UserName); } } foreach (courseinfo course in NextCourses) { if (prof.UserName == course.Instructor) { prof.Next.Add(course.Coursename); } } } line = "Yes"; try { string username; int numcourses; string coursename; string term; double credit; string grade; StreamReader sr = new StreamReader("HistoryInput.txt"); while (!sr.EndOfStream) { line = sr.ReadLine(); username = line.Substring(0, 10); line.Remove(0, 10); line = line.TrimStart(); numcourses = int.Parse(line.Substring(0, 2)); line.Remove(0, 2); line = line.TrimStart(); // find index of student int undx = 0; foreach (Student stud in StudentList) { if (stud.UserName == username) { break; } ++undx; } for (int i = 0; i < numcourses; ++i) { coursename = line.Substring(0, 10); line.Remove(0, 10); line = line.TrimStart(); term = line.Substring(0, 3); line.Remove(0, 3); line = line.TrimStart(); credit = double.Parse(line.Substring(0, 4)); line.Remove(0, 4); line = line.TrimStart(); grade = line.Substring(0, 3); line.Remove(0, 3); line = line.TrimStart(); // fixed maybe? if (grade.Contains("N")) { if (term == nxtterm) { StudentList[undx].Current.Add(coursename); } // Users[undx].Add(new courserecord(coursename, term, credit, grade); else { StudentList[undx].Next.Add(coursename); } } else { StudentList[undx].History.Add(new courserecord(coursename, term, credit, grade)); } } } } catch (Exception e) { Console.WriteLine("Invalid History Input File"); Console.WriteLine(e.Message); } foreach (courseinfo course in NextCourses) { foreach (Student stud in StudentList) { if (stud.Next.Contains(course.Coursename)) { stud.EnrolledCredits += course.Credit; course.Students.Add(stud.UserName); ++course.Enrolled; } } } // read course prereq database line = "Yes"; try { string coursename; int numprereq; string prereq; StreamReader sr = new StreamReader("PrereqInput.txt"); while (!sr.EndOfStream) { line = sr.ReadLine(); coursename = line.Substring(0, 7); line.Remove(0, 7); line = line.TrimStart(); numprereq = int.Parse(line.Substring(0, 2)); line.Remove(0, 2); line = line.TrimStart(); int cndx = 0; foreach (courseinfo course in NextCourses) { if (course.SecLessName == coursename) { break; } ++cndx; } for (int i = 0; i < numprereq; ++i) { prereq = line.Substring(0, 7); line.Remove(0, 7); line = line.TrimStart(); NextCourses[cndx].Prereqs.Add(prereq); } } } catch (Exception e) { Console.WriteLine("Invalid Prereq Input File"); Console.WriteLine(e.Message); } //LAUNCH FORMS AND THINGS HERE Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new LoginForm(AdminList, FacultyList, StudentList, NextCourses, PrevCourses)); }