ATB: V 0.9.2 released

The current version can be downloaded here: ATB Download The game’s main page you can find here: All Those Bugs Page Release Notes: At the “Project” page for the members the skill that corresponds to the currently selected task for the developer is now displayed. So you can watch the developer “learning” while he is working…


ATB: V 0.9.1 released

The current version can be downloaded here: ATB Download The game’s main page you can find here: All Those Bugs Page Release Notes: New projects now emerge on the “Project Offers” page every couple of days. Other projects disappear after a while. New developers now emerge on the “Hire Staff” page every couple of days. Other…


ATB: Unit Tests/Integration Tests

The solution at the moment only contains a couple of short tests, that cover the complete cycle of a project and hiring staff. Nevertheless it’s a complete integration test over the whole system covering at least the most important areas of the application. This is the test – it’s quite self-explaining I believe (this is…


ATB: Model-ViewModel connection

One of the ever recurring questions in a MVVM architecture is how the model and the view model are kept in sync – that is, how does the model inform the view model of changes? Especially when collections (lists etc.) are involved, this can lead to lots of synchronizing (and mostly more or less duplicated)…


ATB: Basic architecture

The application is built with a classical MVVM approach in mind. The three layers are packed in three folders and will soon be moved to separate DLLs: (The “Data” folder contains serialized data (XMLs) that will be loaded by the application during start up – list of computer models, list of names etc.) Since I…


SimpleMVVM, Part 9: The EditProductPage view model

As a reminder – that’s how the EditProductPage looks: First of all we need a view model class. Create a class named EditProductPageVM, and derive it from the class PageVM. Add a constructor with parameters of type ISystemConnector and PageFrameVM and and pass the parameters to the base class constructor: namespace SimpleMVVM.ViewModels { public class…


SimpleMVVM, Part 8: The EditCustomerPage view model

We’ll start with the EditCustomerPage. As a reminder – that’s how it looks: First of all we need a view model class. Create a class named EditCustomerPageVM, and derive it from the class PageVM. Add a constructor with a parameter of type ISystemConnector and pass the parameter to the base class constructor: namespace SimpleMVVM.ViewModels {…


SimpleMVVM, Part 7: Change notification

The basic idea of MVVM is, that view models expose properties to which the views bind. Ordinary C# properties don’t come with a mechanism to inform listeners of changes, so the binding mechanism of WPF relies on an interface named INotifyPropertyChanged. This interface consists of only one event: PropertyChanged. Since every view model should be…


SimpleMVVM, Part 6: The MainMenuPage view model

Our first task with the new view model system will be to connect the button clicks in the main menu with the display of the corresponding pages. The quit button To start with something simple, we’ll implement the quit button. (We’ll soon see that it’s not as simple as it seems…) The communication between the…


SimpleMVVM, Part 5: The first test

Since we have a system class that ties everything together, we can now write the first test. Add a new Unit Test Project to your solution; name it SimpleMVVMTests. Rename the pregenerated test method to InitTest() and put the following code in it: using Microsoft.VisualStudio.TestTools.UnitTesting; using SimpleMVVM.ViewModels; namespace SimpleMVVMTests { [TestClass] public class UnitTest1 {…