MVC Design

Objective

Create a console MVC program that allows the user to input employees and display the requested employee data per a console menu.

Skills Required

  • TDD
  • Object Oriented Programming
  • MVC Design Pattern
  • Collections
  • Polymorphism
  • Encapsulation

Iterations

Using TDD, build the application in the following small iterations. It should function at completion of each iteration!

  1. Write the main to be menu driven where you will do the following:

    • Inquire if the user wants to enter employees into the system
    • If yes, then accept the information listed in the Employee Model and the Address Model
    • Allow the user to search for an employee by:
    • Identification
    • Last name
    • Combination of identification and last name
  2. Write a model called Employee and it contains the following:

    • Encapsulated data:

      • Identification
      • Employee name as:

        • First
        • Middle
        • Last
        • Suffix
      • Address Identification by creating a relationship to the Address model
  3. Write a controller for Employee

  4. Write a model called Address and it contains the following:

    • Encapsulated data:

      • Identification
      • Address as:

        • Address Line 1
        • Address Line 2
        • Apartment Number
        • City
        • State
        • Zip
        • Zip + Four
        • County
        • Country
  5. Write a controller for Address

  6. Display view should be written for Employee, but for every Employee displayed, the Employee's Address should also be displayed.