Exemple #1
0
        public ActionResult BuildTimetable(int?TermId)
        {
            if (TermId == null)
            {
                return(RedirectToAction("ChooseTermForTimetable"));
            }

            int termId    = TermId.Value;
            int studentId = ((Student)Session["student"]).StudentId;

            if (!CanEnroll(studentId, termId))
            {
                return(RedirectToAction("RegistrationStatus"));
            }

            List <EnrollmentOption> enrollmentOptions = dao.GetEnrollmentOptions(studentId, termId);

            List <TermDisplay> terms = new List <TermDisplay>();
            TermDisplay        currentTerm = null;
            CourseDisplay      currentCourse = null;
            int prevTermId = 0, prevCourseId = 0;

            foreach (EnrollmentOption o in enrollmentOptions)
            {
                if (prevTermId != o.ProgramSemesterId)
                {
                    // new term, new course
                    prevTermId   = o.ProgramSemesterId;
                    prevCourseId = o.CourseId;
                    currentTerm  = new TermDisplay()
                    {
                        ProgramSemesterName = o.ProgramSemesterName,
                        Courses             = new List <CourseDisplay>(),
                        Electives           = new List <ElectiveDisplay>()
                    };
                    terms.Add(currentTerm);

                    currentCourse = AddCourseToTerm(o, currentTerm);
                }
                else if (prevCourseId != o.CourseId)
                {
                    // same term, new course
                    prevCourseId  = o.CourseId;
                    currentCourse = AddCourseToTerm(o, currentTerm);
                }
                else
                {
                    // same course, another section
                    AddSectionToCourse(o, currentCourse);
                }
            }

            ViewBag.JSONString = JsonConvert.SerializeObject(enrollmentOptions);
            TimetableBuilder timetableBuilder = new TimetableBuilder()
            {
                Terms = terms, TermId = termId
            };

            return(View(timetableBuilder));
        }
Exemple #2
0
 private void TerminalWindow_Load(object sender, EventArgs e)
 {
     LoadSettings();
     TermDisplay.Focus();
     if (CurrentConnection != null)
     {
         CurrentConnection.Transport.Open();
     }
 }
 private void Variable_Y_Click(object sender, RoutedEventArgs e)
 {
     if (DefineXY.IsChecked == true)
     {
         Y           = Answer;
         Y_Text.Text = "X = " + Y.ToString();
     }
     else
     {
         TermDisplay.AppendText(Y.ToString());
     }
 }
Exemple #4
0
        private CourseDisplay AddCourseToTerm(EnrollmentOption o, TermDisplay currentTerm)
        {
            CourseDisplay currentCourse = new CourseDisplay
            {
                CourseIsOffered   = o.CourseIsOffered,
                CourseIsCompleted = o.courseIsCompleted,
                CourseId          = o.CourseId,
                CourseCode        = o.CourseCode,
                CourseTitle       = o.CourseTitle,
                CourseCredits     = o.CourseCredits,
                IsAcademic        = o.IsAcademic,
                Prereqs           = o.Prereqs.Select(p => new PrereqDisplay {
                    CourseCode = $"{p.courseSubject}{p.courseNum}"
                }).ToList(),
                Sections = new List <SectionDisplay>()
            };

            if (o.IsMandatory)
            {
                currentTerm.Courses.Add(currentCourse);
            }
            else
            {
                bool electiveAdded = false;
                foreach (ElectiveDisplay e in currentTerm.Electives)
                {
                    if (e.IsTechnicalElective == o.IsTechnicalElective)
                    {
                        e.Courses.Add(currentCourse);
                        electiveAdded = true;
                    }
                }
                if (!electiveAdded)
                {
                    currentTerm.Electives.Add(new ElectiveDisplay
                    {
                        IsTechnicalElective = o.IsTechnicalElective,
                        Courses             = new List <CourseDisplay>()
                        {
                            currentCourse
                        }
                    });
                }
            }

            AddSectionToCourse(o, currentCourse);
            return(currentCourse);
        }
Exemple #5
0
 void SaveSettings()
 {
     TermDisplay.EnableTimers(false);
     try
     {
         INIFile config = new INIFile();
         if (CurrentConnection != null)
         {
             CurrentConnection.Save(config);
             Properties.Settings.Default.LastConnection = config.Text;
             Properties.Settings.Default.Save();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemple #6
0
        private void EditConnection(Connection SelectedConnection)
        {
            if (System.Diagnostics.Debugger.IsAttached)
            {
                TermDisplay.DisableTimers();
            }
            Application.DoEvents();

            ConnectionSettingsDialog dialog = new ConnectionSettingsDialog();

            dialog.SelectedConnection = SelectedConnection;
            DialogResult result = dialog.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.OK)
            {
                CurrentConnection = dialog.SelectedConnection;
            }
            if (CurrentConnection != null && !CurrentConnection.Connected)
            {
                CurrentConnection.Connect();
            }

            TermDisplay.EnableTimers(true);
        }
 private void Digit_0_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("0");
 }
 private void Faculty_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("!");
 }
 private void RightBracket_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText(")");
 }
 private void RootOf_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("V");
 }
 private void PowerrOf_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("^");
 }
 private void Multiply_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("*");
 }
Exemple #13
0
 private void TerminalWindow_KeyPress(object sender, KeyPressEventArgs e)
 {
     TermDisplay.HandleKeyPress(sender, e);
 }
 private void Negative_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("-");
 }
 private void Add_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("+");
 }
 private void Subtract_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("-");
 }
Exemple #17
0
 private void TerminalWindow_KeyDown(object sender, KeyEventArgs e)
 {
     TermDisplay.HandleKeyDown(sender, e);
 }
 private void Divide_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText("/");
 }
 private void Decimalpoint_Click(object sender, RoutedEventArgs e)
 {
     TermDisplay.AppendText(",");
 }