Home - RyanMarinoff/ISW-Prism GitHub Wiki
Welcome to the ISW-Prism Wiki
ISW-Prism | Internet Sales Worker - Prism Model
ISW-Prism is created to assist me in my work at Reyers. I assist with the website administration. Primary duties include uploading new product properly and to optimize SEO. During this process I have found that there are a few errors within the uploading process. These errors created issues with the customers, leading them to either call the store for clarifications or to shop at another location. Overall, the errors are easily fixed, on an item by item bases.
I have a history of programming. I have received education in 'Video Game Design and Development' and 'Mobile Application Development'. I have little excuse to use the programming skills in a productive manner. So I have created mini console based applications written in C++. These small programs were used to read the data from an export form the site, look for the specific errors, then write an upload file to implement the changes. For each new issue I found, I modified these small programs to account for it.
Business has slowed some. There are less product to upload. Sales and advertising is minimal. My skills and knowledge is recognized as a benefit to the company. It was decided to keep me employed, even with a smaller work load. While using the site and researching SEO, I have found that there are a few major changes needed to be implemented. On top of the changes, a major overhaul to the product descriptions will be very beneficial. I wanted to create an interface to the programs I use that was pleasing to the eye and easy to use. This lead to my desire to re-write all the applications into a single windows application. I have decided that using C# would work well for this. I have only received minor training in Windows forms with C#, so I was not sure what I was getting into. A challenge well accepted.
As I stumbled a little trying to gain my feet within this project, I have found that Windows Forms is not the method to use. I went with WPF for the windows management. My code was getting messy, hard to manage, and I was seeing it was going to be very difficult to update and change. I had to modulize the code. Separate the GUI from the processing. While doing this, I have streamlined the processing and separated the code. I found a method called MVVM to help organize the code.
Model - View - View Model
- Model: The basic representation of the data as objects.
- View: The display of the data to the user.
- View Model: The connection between the two, where the Model information is formatted so that the View can display it for the user.
MVVM was missing something, a standard. An easy way to link everything together. Prism was the answer to many of these issues. I know near nothing about Prism. All learning will be displayed within the Blog, as well as the updates and changes. Further details and overall organization will be placed here within the Wiki.
IoC | Inversion of Control
An aspect of the program was hard for me to determine where to place within the MVVM organization. The code that reads data from a file to place within the program's database. I have found IoC to be the answer. The flow of control will be handled by the IoC with concerns outside the Prism framework. This will include the reading of the files, and writing of the files for the internet database. At least that is the plan as of now.