Instructions:

  • There is a build error in the supplied code. Correct the bug and ensure the project builds.
  • There is a runtime error in the supplied code. Run the project, evaluate the stack error, and correct the bug.
  • The supplied CSV should populate a list of classes in the index page. We want you to display the classes on the index page, following these rules and using the supplied bootstrap CSS wherever possible:
    • Each class should be displayed in a table like the one at the bottom

    • There should be one table per distinct quarter code, where quarter code is the last 4 characters of ClassID. All classes with that quarter code should go in that table, and put an h2 above each labelling which quarter code it contains.

    • Order these tables on the page by their quarter code, descending

    • The classes inside each table should be ordered by CourseID, ascending

    • Item Number should be the first four characters of ClassID

    • Credits should display as a decimal in xx.x format. The values that are imported are from a legacy system; you will need to move the decimal point left 1 place on the whole numbers. For example, 50 should display as 5.0.

    • Convert the Modality supplied to a Modality display string by updating the get function for the DisplayModality property in the model, using this data:

      • Modality DisplayModality
        80 Hybrid
        50 Virtual
        51 Virtual Hybrid
        3C Online
        [else] Face to Face
    • The Status field should display the following:

      • If SectionStatusID1 is an 'X', show Cancelled, and make the whole row for that class red
      • If the number of StudentsEnrolled is greater than or equal to the ClassCapacity, show Closed, and make the whole row for that class yellow
        • Otherwise, show Open - [number of seats remaining], and make the whole row for that class green
Item Number Course ID Course Title Credits Days Modality Status