Shell Extensions Pt. 1 – Buttons

So, we will start with the view model for our beloved buttons. The model will store data for the visual respresentation of the button (icon, …) as well as the behavior of the button. The interface looks like that:

Read More »

Shell Extensions Pt. 0 – Extending the Caliburn.ShellFramework

In the upcoming release of Caliburn v2 a shell framework will be included. Although it’s still a work in progress the code is quite stable and much too useful to not use in a new project. But there’s still a lot missing and hence, I decided to close the gaps by myself. I created a data-driven view model and a view  for a toolbar, searchbar, statusbar and for buttons.With everything put together, the shell looks like this

Read More »

Automatic Auditing with NHibernate

Many business applications require that we track who created or changed an entity, etc. There are basically two ways to store the audit data . The first one is to store the audit data directly with your entity and the other, more complex way is to create an audit log which stores all important changes to the entities. Since we are only interested in storing who created/modified an entity, we will use the first approach. Although you can find some implementations for this approach on the web, none of them meet all requirements i have.

The requirements are:

  • Fine-grained control about what we want to audit for each entity type
  • Automatic (fluent) mapping of the audit properties
  • Setting the audit data automatically on each insert/update
  • Easily change how the username and date is retrieved

Read More »