Geeks With Blogs

AzamSharp Some day I will know everything. I hope that day never comes. March 2008 Entries
Calling all Houstonians!!!

I just created a “Houston .NET User Group” group on Google groups (hmm tongue twister!!). If you live in Houston, TX and loves .NET programming then come on join this group. Post your questions/comments and share your knowledge with fellow developers.


Posted On Monday, March 31, 2008 2:04 PM

Are you on Skype???

I created my Skype account long time ago but never got to use it. But, now I am trying to add as many developer friends on Skype as possible. I think Skype is a great way to share knowledge with fellow developers. If you have Skype account you can add me using my email

See you Skyping!!!

Posted On Monday, March 31, 2008 12:20 PM

PODCAST: Introduction to Test Driven Development

In this podcast Mohammad Azam will introduce the concepts of Test Driven Development. He will also talk about testing tools and code coverage and how test driven development enhances the application design.

Podcast: Introduction to Test Driven Development

Posted On Sunday, March 30, 2008 3:39 PM

LINQ to SQL Classes and Validation
LINQ to SQL Classes might not look like business objects but you can make them perform business rules validation. Let's say that you have a class called "Person". Person has FirstName, LastName, DOB (Date of Birth) etc. Now, you don't want two persons to have the same firstname or the lastname ( I know kinda weird requirement). You can use the OnFirstNameChanging method to implement the condition for same first name. Here is the code: partial void OnFirstNameChanging(string value) { // check if the ......

Posted On Sunday, March 30, 2008 3:01 PM

LINQ to SQL DataLoadOptions
One of the good things about LINQ to SQL is that it gives the developer flexibility to choose the specified columns of a table from a database. Let's say I have table Forums and Posts and I need to get all the Forums and their Posts but I want to exclude the "Description" property of the Posts table. I want to exclude it because "Description" might be really long and loading the description will slow the fetching. LINQ to SQL designer helps you to delay load a property as shown in the screen shot ......

Posted On Saturday, March 29, 2008 9:24 AM

Failing Unit Tests Are Good!
I cannot emphasize any more on how integral unit tests are for the success of an application. Recently, I was working on a small demo application using test driven development. I had to change the design of the application number of times to accommodate the new features and changes. My only shield against these changes was the unit tests that I wrote. After performing the changes I got few broken tests. That was good! Because now I know what is broken and I can go and fix it. Unit testing does increase ......

Posted On Thursday, March 27, 2008 1:18 PM

Domain Objects and Depedencies
I am working on a small demo application in which I created few simple domain objects. I am having hardtime understanding the dependency hierarchy. Take a look at the simple example. I have a Person class and an Account class. Here is the implementation of the Person class. public class Person : BusinessBase { private string _firstName; private string _lastName; private string _middleName; private Account _account; [MustValidate] public Account Account { get { return _account; } set { _account = ......

Posted On Thursday, March 27, 2008 11:51 AM

Designing Application Using Test Driven Development Part 2
Couple of days back I wrote an article Designing Application Using Test Driven Development in which I explained how test driven development can help us design better solutions. I just posted second part of the article in which I explained how test helps us when we change the code. You can check out the article using the link below: Designing Application Using Test Driven Development Part 2 ......

Posted On Tuesday, March 25, 2008 2:58 PM

Designing Application Using Testing Driven Development

I just posted a new article on The article discusses how test driven development evovles the design of the application. You can read the article using the link below:

Designing Application Using Test Driven Development

Posted On Thursday, March 20, 2008 12:56 PM

Video: LINQ to SQL Grouping

In this video Mohammad Azam will demonstrate how to use Grouping using LINQ to SQL classes.

Check out the video using the link below:

LINQ to SQL Grouping

Posted On Thursday, March 20, 2008 3:37 AM

And That's Why I Admire Scott Guthrie!
If you are an ASP.NET developer and don't know Scott Guthrie then it is better to change your occupation. It is hard to explain what Scott does since he is incharge of so many teams. Let's put it this way Scott Guthrie is GOD of ASP.NET and related technologies. Anyway, couple of days ago I sent Scott an email asking for help with some server licensing. The question was not even vaguely related to Scott Guthrie's work or team and a simple reply "Please contact the server people" should be the default ......

Posted On Monday, March 17, 2008 2:07 PM

Accessing Controls Inside EmptyDataTemple in GridView Control
Few days ago I received an email from a reader asking how to access the value of the control contained inside the EmptyDataTemplate of the GridView control. As, you might already know that EmptyDataTemplate is used when there are no records to display. Sometimes you want to give the user an option to add a new item by providing controls inside the EmptyDataTemplate. <asp:GridView ID="gvCategories" AutoGenerateColumns="false" runat="server" onrowcommand="gvCategories_... > <EmptyDataTemplate> ......

Posted On Monday, March 17, 2008 1:51 PM

LINQ to SQL Auto Generated Value Problems!
Let's say you have a table in the database named Customers. One of the field of the Customers table is DateModified. The default for the DateModified is "GETDATE()" T-SQL Function which means if you don't provide anything it will default to the current date and time. Off course, this only works when you are inserting the record for the first time. And that's the way it should be. Now, if you are using LINQ to SQL to insert the data into the database and you want the default value to be generated ......

Posted On Thursday, March 13, 2008 5:13 AM

Web.siteMap, Security Trimming and Absolute URL'S
Security trimming is a feature which allows you to hide the urls based on the roles. This mean you can have a single web.sitemap file which contains all the urls of the website. The urls will be served to the users based on the roles. A common place where security trimming is used is when you want to display a menu based on the user role. To get started with sitemap and security trimming check out the following post: Now, sometimes ......

Posted On Monday, March 10, 2008 9:19 AM

Update on article Drag and Drop Using JQuery with Persistence

I just posted an update on the article "Drag and Drop Using JQuery With Persistence". Now, you will be able to refresh the UI when any new users comes to the room. There were few gotchas associated with this implementation so be sure to check out the article.

Posted On Friday, March 7, 2008 9:51 AM

I recently posted a video on in which I talked about LINQ TO SQL INNER AND LEFT OUTER JOINS. The fun thing about this video is that I tackled the problem from both sides. This means first the query is created using pure T-SQL and then then it is generated using LINQ TO SQL. Check out the video using the link below: Video ......

Posted On Friday, March 7, 2008 4:28 AM

Block User Screen With Personalized Message!
Yeah I know! the title of this post does not sound good. It seems that I am trying to annoy users by blocking/freezing their screen. But the reality is totally different. The application that I am working on is intended to be used by the students. The idea is that the instructor will send the message to the students and the message has to be easily identified by the students. I have experienced that students don't really notice bold letters or small pop ups on the screen. So, I had to freeze their ......

Posted On Thursday, March 6, 2008 4:43 PM

Vote for my article on CodeProject

I have published my article "Drag and Drop With Persistence Using JQuery" on code project. The article talks about how you can drag and drop objects using JQuery and later persist them in the database.

Posted On Thursday, March 6, 2008 2:49 AM

GridViewGuy Gets Makeover!!!

No no not me! GridViewGuy, the website. Man! this interface designing is pretty darn hard. Took me a while to complete the makeover and still it has few glitches. Anyway, I think it is much cleaner than before. Also, the logo is quite funny check it out at

Posted On Tuesday, March 4, 2008 6:03 PM

Closures, Context and this Keyword in JavaScript
While implementing a solution which involved Ajax calls I faced some difficulty when assigning the coordinates to the DIV object. The reason was that the variable was defined locally in the function and was not accessible by the function that was called in a separate scope. Let's see this in action. The button below fires the changeText method and passes the event. <input type="button" value="press me" onclick="changeText(event)" /> function changeText(e) { var ev = e || window.event; var div ......

Posted On Tuesday, March 4, 2008 10:47 AM

New Article: Find If User Support JavaScript

I have just published a new article on in which I talked about how to find out if the user's browser support JavaScript. You can take a look at the article using the link below:

Find Out If JavaScript Is Enabled On User's Browser

Posted On Sunday, March 2, 2008 11:44 AM

Copyright © Mohammad Azam | Powered by: