July, 2009

ASP.NET MVC 2 Preview 1 is released!

ASP.NET MVC 2 first preview is released to public now and you can download it from Microsoft download site. Here is short overview of technical requirements and main new features of ASP.NET MVC 2 Preview 1.

Fighting against GhostDoc abusing

GhostDoc by SubMain is great tool for documenting source code. It is able to generate documentation from methods and properties names. It analyzes names and then offers appropriate description. GhostDoc is also able to use description of interface member that current property or method implements. And it takes only one simple key press.

Modeling people and organizations: Class Party

Classes for people and organizations are often modeled incorrectly in object models. These faults cause heavy implementation problems. In this posting I will analyze some legacy models, introduce class Party as generalization of people and organizations and provide some implementation details. Information here is based on my own experience, like always.

Visual Studio 2010: Database projects

Visual Studio 2008 introduced us database projects. These projects are also present in Visual Studio 2010. I noticed some differences already when building my photo gallery application. Let’s see how these projects work under Visual Studio 2010.

Agile Principles, Patterns, and Practices in C# – book review

Agile Principles, Patterns, and Practices in C# by Robert C. Martin and Micah Martin describes how to write software using C#. Book covers also most important design patterns and object-oriented development principles. There are very good, close to reality examples for every topic and that makes this book pretty easy to read and understand.

Blogging Heroes: Interviews with 30 of the World’s Top Bloggers

Blogging Heroes: Interviews with 30 of the World’s Top Bloggers by Michael A. Banks is book that every blogger should read. It is not another book that is just somehow covering popular topic and makes easy money to author. I think this is serious book, really.

ASP.NET MVC Calendar component

I am writing simple ASP.NET MVC system that I plan to publish with source code pretty soon. I needed some simple calendar component that doesn’t require ASP.NET server-side form to work. I found different JavaScript based calendars and only one pretty oldcalendar that was specially written for ASP.NET MVC. I updated it and here is the source and binary downloads for Visual Studio 2008 and ASP.NET MVC 1.0.

OpenForum – new ASP.NET MVC based forum

There is new project in CodePlex called OpenForum. With source code you get also some samples you can run on your machine. OpenForum is pretty new and simple. There are no advanced forum features and currently it is suitable for smaller forums. You can change the look of OpenForum and write your own user repositories. Let’s see how OpenForum looks like.

Packaging my gallery code

In this posting I describe how I prepare my gallery application for automated testing. As a first thing I plan to write some unit tests because some of my classes have now logic to be tested. The other thing is database that is living outside my Visual Studio solution. Let’s make now first steps in my gallery code packaging.

ExpectedException attribute in Visual Studio 2008 and Visual Studio 2010

Today I tried to write my first unit tests under Visual Studio 2010. Just to see if Visual Studio testing system can now also be used for unit tests. Visual Studio 2008 had some annoying problems with test and I preferred to use nUnit instead. Visual Studio 2010 brings some good news – tests work. Take a look at my example.

Analysis Patterns: Reusable Object Models

Analysis Patterns: Reusable Object Models is another create patterns book by Martin Fowler. The audience of this book are analysts whose work is analysis of information systems and modeling data structures. This book is also recommended reading for programmers and software designers.

SharePoint: Creating HttpHandler for user profile images

I have custom authentication and user profiles solution where user profiles are stored in list. This list is directly accessible only to administrators. Users can register to site and modify their profiles through special pages that run profile operations under elevated privileges. Users have three versions of their avatar: 64×64, 32×32 and 16×16. These avatars are saved as user profile attachments when user uploads his or her avatar. Because avatars are used at almost every page in portal I wrote IHttpHandler that provides avatars based on user profile ID.

Entity Framework 4.0: Generating SQL script from model

Entity Framework 4.0 is able to generate database schema based on model. If you built your model first and you now want to create database for it you can use newGenerate Database Script from Model feature. Let’s see how it works.

Reordering invoice lines using jqGrid and TableDND extension

In one of my ASP.NET MVC applications I needed flexible interface for inserting invoice lines. Sometimes invoice lines are inserted in incorrect order and it saves accountants some time if they are able to change the order of invoice lines quickly. In my application I used jqGrid with TableDND extension. Here’s how I got it work.

Attaching SQL Server database without log file

I needed to attach SQL Server 2008 database to server. There was no log file, just mdf. I don’t know why but it is not very easy to get this database online. After some digging in internet I found solution.

What do you think of my ASP.NET MVC gallery layouts?

To try out Visual Studio 2010 and .Net Framework 4.0 I decided to write simple gallery application based on ASP.NET MVC Framework. In this posting I show you my very first layouts I created for gallery. These layouts are modifications of ASP.NET MVC default blue-white-black layouts. I also added some photos of my first layout drafts. My question is – what do you think about my first draft-level layouts (I am not designer)?

Last screen of Windows 7 beta

My Windows 7 Beta is expired. After about two hours of work computer restarts. During restart it shows me the following BSOD.

Entity Framework 4.0: On the way to Composite Pattern

In my last posting about Entity Framework 4.0, Entity Framework 4.0: POCOs and table-per-type inheritance mapping, I made first generalization to my photo gallery model. I introduced GalleryItem class that is base class for all that can be added to gallery: new albums, photos and maybe videos too. Although everything works as expected my model needs some modifications because it is not very foolproof.

Entity Framework 4.0: POCOs and table-per-type inheritance mapping

In my previous posting Entity Framework 4.0: How to use POCOs I introduced how simple it is to use POCOs with Entity Framework 4.0. In this posting I will refactor my photo gallery model a little bit and introduce you how to implement table-per-type inheritance mapping on Entity Framework 4.0.

Entity Framework 4.0: How to use POCOs

Entity Framework 4.0 will provide us with POCO support. That’s good because Entity Framework supports more inheritance mapping strategies than LINQ To SQL but currently it doesn’t support POCOs. To try out Visual Studio 2010 and ASP.NET 4.0new features I started writing simple photo gallery web application. Today I got my first simple POCOs work with Entity Framework 4.0.

Previous Posts