- Read the PA directions in EMA
- Watch Example GUI in Action
- Read the FAQ
- Download Visual Studio
- Study and comprehend the course Learning Resources seen above
- Create a Windows C# App in Visual Studio (Please put your name in the project name, otherwise there will be several hundred zipped projects all named InventorySystem)
- Examine DataGridView tutorial
- Use C# Windows Forms to
- Build the main screen
- Build the Add/Modify Part screens
- Build the Add/Modify Product screens
- Create the following classes, following the [[UML diagram]] and using Properties
- Inventory (consider making this class static)
- Product
- Part (this is an abstract class)
- In-house
- Outsourced
- Create all the button event handlers
- Examine Populating a DataGridView
- View webinar on switching screens, in the Course Tips area, dated Jan 4, 2019, Screen-Hide/Show
- Create an Add and a Modify Part screen. You can choose to implement as two distinct files (Add and Modify) or one file implementing both views.
- Enable the user to Add a Part
- Enable the user to Modify a Part (pre-fill textboxes).
- Enable the user to Delete a Part using the Delete button on the main screen.
- Enable the user to pick whether to create an In-house or an Outsourced Part using a radio button
- Enable the user to cancel out of the Add & Modify Part screens
- View webinar on searching, in the Course Tips area, dated Jan 4, 2019, Search
- Enable the user to search the Part DataGridView on the main screen.
- Enable the user to search the Product DataGridView on the main screen.
- Enable the user to Add a Product
- Enable the user to Modify a Product (pre-fill textboxes)
- Enable the user to Delete a Product using the delete product button on the main screen.
- Enable the user to select Parts from the upper table and add them to the lower table
- Enable the user to select Parts from the lower table and delete them from that table
- Enable the user to search the upper table on the Add/Modify Product screen(s)
- Enable the user to Exit the main screen.
- Read about MessageBox
- Handle the following Exceptions:
- Detect non-numeric values in textboxes that expect numeric values
- Min should be less than Max, and Inv should be between those two values
- Prevent the user from deleting a product that has a Part associated with it
- Confirm “Delete” actions
- Verify that everything functions as intended
- Zip up project directory, as the evaluators will run the project in Visual Studio
- Submit via the Task View in the main course page