I chose to display this project as was my first gander at Multiple-Document Interfaces (MDIs) and I really enjoyed expanding my capabilities with Windows Forms. In this project, I learnt valuable skills for Windows Forms such as how to create an instance of a new form, share data between forms, and deal with problems that arise with MDI.
One of the problems that I didn’t anticipate when I had initially completed the project was the null exception that would occur when a user closes the add customer dialog box. It should have been an obvious thing but I only found the error as I was testing the form to add to this portfolio. That made me reflect on my testing practices. It made me realize that I had to be 100% that I have tested all the possible situations that a user might get into. This might seem obvious but I think it is easily overlooked in the rush to complete a project.
This project also served as a great segue to my next artifact which built on the ability to display multiple windows while adding onto it exponentially with the MVVM design pattern and the integration of databases.
This project was challenging to complete because I struggled to understand the Model-View-ViewModel (MVVM) design pattern as it felt like there were a hundred moving parts to grasp. To add to my confusion, this project also needed to be a Windows Presentation Foundation (WPF) application instead of the Windows Forms that I was used to. Not only that but we also had to integrate the application with our own database and at that point in time, I had never worked with databases before. So, I was really proud when I actually managed to complete the project with the look and functionality that I desired.
Through working on this project, I learnt a vaudeville of things. On the database side of things, I learnt how to set up a database and write SQL queries to create, update, insert, and delete databases and rows in them. In conjunction with that, I learnt how to utilize Microsoft SQL Server Management Studio in order to create queries and view tables. On the application side of things, I finally grasped the concept of MVVM and managed to get all the pieces to fit together in my head. WPF also turned out to be not as daunting as I thought it would be.
Ultimately, I think I found that I could pick up any skills I wanted to as long as I was willing to persist. I chose this project because I think it suits this goal very well as I have always thought about keeping a wishlist of manga so being able to make it on my own was a really cool project!