He walks!

Today was a milestone moment: Albert took his first real steps! After being so close for a couple of months, he finally walked back and forth between Elin and me.

Albert walking. A bit wobbly...

It was an incredible experience to watch him gain control of his balance and see the confidence grow as he moved along.

Albert walking. Now with confidence

Read More

Sprint Planner Helper – Session 22

I have had some serious thoughts on what to do next in my project. On one hand, I want to update the way I am doing the GUI for the product and product backlog. Right now I am warm and learning a lot about ASP.NET MVC so it feels quite good to continue there.

On the other hand, this is first and foremost a DDD-learning experience, and I have got stuck for a while in the ASP.NET MVC trench.

And finally, since I only have one hour, either way will take me on a detour from the other track. What to do?

After some serious consideration, I decided to spend today’s session on a DDD thing I ran into in the walkthrough. I want to implement the “IsValid and GetRuleValidations” pattern and include it in my BaseRepository Save method.

That will be enough for...

Read More

De Blob – get a joy-kick!

I bought a new WII game yesterday – De Blob. It is a real fun-injection which I recommend to everyone. It such a good feeling to bring color to an all black and white surrounding.

Here is a short clip that introduce the game and the plot:

I’m sorry to say that it will ruin my Sprint Planner Helper project tonight. On that subject I can say that I am still wondering on how to redo the GUI. I am not fond on how it’s coming along.

Read More

Sprint Planner Helper – Session 21

I’m back! After doing a detour through the sample chapter of the upcoming ASP.NET MVC book (lovingly called “The Four Faces,” I heard…), I now feel ready to continue.

I learned a few things from that sample chapter—not just about ASP.NET MVC but also about some flaws in my DDD-ing, especially in the use of the Repository pattern.

The main thing is that I have a separate Update-method that feels a bit strange. Another thing I learned and finally understood was the IQueryable interface.

By using IQueryable, you can defer the execution of the actual database query until the client calls, which means that the query will be fine-tuned with all the parameters that the client includes (such as Take, Sort, etc.). For a much better explanation see this.

So, I’ll update my IRepository to something like this:

MOQ and the Test Run deployment issue - The location of the file or directory problem

The NerdDinner example uses the MOQ-framework for mocking some authentication mechanism.

This framework is new to me and when I downloaded it (one dll – great stuff!) I immediately ran into the “Test Run deployment issue: The location of the file or directory” – exception.

Here is a great article explaining how to solve it. I needed to restart Visual Studio to get it to “take” – but then it worked great.

Read More

ASP.NET MVC – completing the NerdDinner example

I am now done with the run-through for the ASP.NET MVC book I’ve talked about before.

The first thing to notice is how great this way of introducing a subject is/was. 196 pages of really interesting examples and code. Really looking forward to the complete book.

Secondly, I’ve picked up some really useful and interesting techniques surrounding ASP.NET MVC:

  • The UpdateModel method, or rather not using it. You can specify a parameter to an ActionMethod (of the same type as in the View) and the framework will fill it out with data from the form.
  • There are some really useful attributes in the framework, such as Authorize.

I also learned some lessons surrounding my repositories that I’ll need to include in the Sprint Planner Helper project. I’ll get back to that…

Read More

ASP.NET MVC – The Nerd Dinner example

I am going through the free sample chapter that I talked about earlier. It’s one thick chapter (196 pages) but it’s really good to introduce concepts and features of the ASP.NET MVC framework.

I love it! I cannot say anything else when after a few years of WebForms and me not understanding I am back. I actually get this – no more funky event-firing and endless questions about which event is fired first.

On top of that, the whole framework is built and works very well to be tested and built with TDD.

There are so many nice little features that I just cannot wait to know as well as the back of my hand… UpdateModel and ModelState just to mention a few.

I am now halfway through and will continue to the end. I’ll get back to you if anything more...

Read More

Sprint Planner Helper – Session 20

Today I plan to finish up the last part of the prioritizing of Product Backlog Items (see Session 19). That is, TDD the controller and then wrap the GUI.

Let’s go!

Whooa – I ran into some problems with routing. Some problems that took me about two sessions (read: hours) to solve. To not bore you with details or meaningless posts of me scratching my head, I’ll sum it up in this post.

Here is the layout of the “problem”: I have an Action-method with two parameters:

public ActionResult PrioUp(int productID, int productBacklogItemID) 

OK – but how do I create a link to that method? Well, by using the Html-helper ActionLink-method, of course. You define an anonymous object with the route values. Here is my example: