<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gary Pretty's Blog &#187; C#</title>
	<atom:link href="http://blog.garypretty.co.uk/index.php/category/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.garypretty.co.uk</link>
	<description>.Net Development &#38; General Tech Related News</description>
	<lastBuildDate>Wed, 19 May 2010 23:51:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Bing Silverlight Control with the Bing Web Service Application</title>
		<link>http://blog.garypretty.co.uk/index.php/2010/05/19/bing-silverlight-control-with-the-bing-web-service-application/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2010/05/19/bing-silverlight-control-with-the-bing-web-service-application/#comments</comments>
		<pubDate>Wed, 19 May 2010 21:35:03 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[bing]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/?p=260</guid>
		<description><![CDATA[After reading Carl Dickinson&#8217;s post on Mando Group Labs about the Bing Silverlight Control, I wanted to give it a try myself. I decided to set about using the Bing Silverlight control to display available hotels from LateRooms.com.  LateRooms.com have an affiliate scheme that exposes the availability of hotels via XML feeds (you do need [...]]]></description>
			<content:encoded><![CDATA[<p>After reading <a href="http://labs.mandogroup.com/programming/silverlight-and-bing-maps/">Carl Dickinson&#8217;s post</a> on Mando Group Labs about the <a href="http://labs.mandogroup.com/programming/silverlight-and-bing-maps/">Bing Silverlight Control</a>, I wanted to give it a try myself.</p>
<p>I decided to set about using the Bing Silverlight control to display available hotels from LateRooms.com.  LateRooms.com have an affiliate scheme that exposes the availability of hotels via XML feeds (you do need an affiliate ID to use the feeds but this could easily be replaced by any other similar feed).</p>
<p>You can <a href="http://www.garypretty.co.uk/bingmaps1/Default.aspx">view the sample app</a> I have created <a href="http://www.garypretty.co.uk/bingmaps1/Default.aspx">here</a> (note: LateRooms has mostly UK hotels so probably best trying a UK location, e.g. &#8220;Southport UK&#8221;). </p>
<p>To create the app I create added four controls to my page;  </p>
<ul>
<li>Bing Silverlight Control &#8211; This is obviously the main focus of the app.</li>
<li>A text box and a button to accept a location from the user and start the request to get the hotels.</li>
<li>A list box to display a picture, the name and the first line of the address for each of the hotels.</li>
</ul>
<p>Once the user enters a location into the text box and clicks the button the following happens;</p>
<ul>
<li>The location entered by the user is sent to the Bing Geocode web service and providing it can find a match it returns the lattitude and longitude for the location.</li>
<li>This map is then centred on this location.</li>
<li>Finally the newly returned coordinates are used to get a list of available hotels from the LateRooms XML feed. This list is then iterated through and a pin for each hotel is added to the map and the list is then bound to the list box.</li>
</ul>
<p>Finally I added an event handler to the selection changed event of the list box to re-centre the map on the coordinates of the selected hotel.</p>
<p>There is plently more that could be done with this app, not least making the UI a little more attractive, but I wanted to just get a feel of how easy it was to implement some basic Bing maps functionality in Silverlight.</p>
<p>If you are interested to see the source code to the application let me know and I can post it.  Right now I am off to try some more experiments!</p>
<p>Don&#8217;t forget if you liked this, subscribe to my RSS feed and / or follow my Twitter (links at the top of the page).</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/bing' rel='tag' target='_self'>bing</a>, <a class='technorati-link' href='http://technorati.com/tag/Silverlight' rel='tag' target='_self'>Silverlight</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2010/05/19/bing-silverlight-control-with-the-bing-web-service-application/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Multi-Select List Box in ASP.NET MVC</title>
		<link>http://blog.garypretty.co.uk/index.php/2010/02/26/multi-select-list-box-in-asp-net-mvc/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2010/02/26/multi-select-list-box-in-asp-net-mvc/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 17:13:57 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Entity Fraemwork]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/?p=245</guid>
		<description><![CDATA[Recently I have been working on an MVC site using the Entity Framework.  I have some related entities in my EF model, as show below in the form of &#8220;Reader&#8221; and &#8220;Category&#8221;, and the relationship between them, i.e. many to many. When it came to proucing a view and action to perofrm the Create Reader [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been working on an MVC site using the Entity Framework. </p>
<p style="text-align: center;">I have some related entities in my EF model, as show below in the form of &#8220;Reader&#8221; and &#8220;Category&#8221;, and the relationship between them, i.e. many to many.<br />
<img class="aligncenter size-medium wp-image-248" style="margin: 10px; border: black 1px solid;" title="EF Model" src="http://blog.garypretty.co.uk/wp-content/model-283x300.png" alt="" width="283" height="300" /></p>
<p>When it came to proucing a view and action to perofrm the Create Reader action, I was somewhat puzzled as to how I could allow the user to select one or more categories for a reader. </p>
<p>I started by having a view model that contained a list of all possible categories and then looping around these in my view and writing a check box out for each one.  When the form was submitted I looked through the form collection to find if any of the category check boxes had been selected.  I didn&#8217;t like this one bit and so I set out to find a cleaner way of carrying it out.</p>
<p>After some (quite a lot actually) searching, I stumbled accross the MultiSelectList type, which I could use in my ViewModel and then allow the default model binding to step in and do the leg work for me <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Great!</p>
<p>So, I created a view model, a simplified version of which you can see below;</p>
<blockquote><p>    public class ReaderCreateViewModel : CustomViewModelBase<br />
    {</p>
<p>        public ReaderCreateViewModel()<br />
        {<br />
            ReaderDetails = new Reader();<br />
            CategoriesList = GetCategories(null);<br />
        }</p>
<p>        public Reader ReaderDetails { get; set; }<br />
        public MultiSelectList CategoriesList { get; private set; }<br />
        public int[] SelectedCategories { get; set; }</p>
<p>        public MultiSelectList GetCategories(int[] selectedValues)<br />
        {<br />
            var te = new myEntities();<br />
            List&lt;Category&gt; categories = te.Categories.ToList();<br />
            return new MultiSelectList(categories, &#8220;id&#8221;, &#8220;Name&#8221;, selectedValues);<br />
        }<br />
    }</p></blockquote>
<p> As you can see from the code above, the view model contains my Reader entity, a list of type MultiSelectList, which is a list of available categories and an array of integers which represent the Id of any selected Categories.</p>
<p>Then to add a listbox to my view that will bind the MultiSelectList, I simply insert the following into my view.</p>
<blockquote><p>            &lt;p&gt;<br />
             &lt;label for=&#8221;SelectedCategories&#8221;&gt;Categories:&lt;/label&gt;<br />
        &lt;%= Html.ListBox(&#8220;SelectedCategories&#8221;, Model.CategoriesList) %&gt;<br />
            &lt;/p&gt;</p></blockquote>
<p>Finally in my controller, I can simply check the SelectedItems object in my model for any selected Ids and add them to the Reader Categories list like this;</p>
<blockquote><p>            if (model.SelectedCategories != null)<br />
            {<br />
                foreach (var selectedCat in model.SelectedCategories)<br />
                {<br />
                    int selectedCatId = selectedCat;<br />
                    Category category = DataContext.Categories.Where(c =&gt; c.id                  == selectedCatId).FirstOrDefault();<br />
                    reader.Categories.Add(category);<br />
                }<br />
            }</p></blockquote>
<p>And that&#8217;s it.  Now there is probably a much better way of doing all or some of the above, but this worked perfectly for me when I needed it, so I hope it helps someone else out as well.  The final multi-select list box looked something like this;</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/listbox.bmp"><img class="aligncenter size-full wp-image-250" title="listbox" src="http://blog.garypretty.co.uk/wp-content/listbox.bmp" alt="" /></a></p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ASP.NET+MVC' rel='tag' target='_self'>ASP.NET MVC</a>, <a class='technorati-link' href='http://technorati.com/tag/Entity+Framework' rel='tag' target='_self'>Entity Framework</a>, <a class='technorati-link' href='http://technorati.com/tag/MVC' rel='tag' target='_self'>MVC</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2010/02/26/multi-select-list-box-in-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC &#8211; Passing ViewData to a MasterPage</title>
		<link>http://blog.garypretty.co.uk/index.php/2010/01/12/asp-net-mvc-passing-viewdata-to-a-masterpage/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2010/01/12/asp-net-mvc-passing-viewdata-to-a-masterpage/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:10:19 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2010/01/12/asp-net-mvc-passing-viewdata-to-a-masterpage/</guid>
		<description><![CDATA[If like me you are using ASP.NET MVC for some of your web applications these days and use MasterPages within them, then you may have come accross the need to pass ViewData to the MasterPage.  For example, this might be for a dynamically generated navigation bar. When I first started using MVC, I simply passed [...]]]></description>
			<content:encoded><![CDATA[<p>If like me you are using ASP.NET MVC for some of your web applications these days and use MasterPages within them, then you may have come accross the need to pass ViewData to the MasterPage.  For example, this might be for a dynamically generated navigation bar.</p>
<p>When I first started using MVC, I simply passed the ViewData required for the MasterPage along with every action, but even with a small site, this was a lot of code replication.</p>
<p>To solve this problem, we can create an ApplicationController class which inherits from the Controller class we all know and love.  Your applications&#8217; controllers then in turn simply inherit from this new ApplicationController.</p>
<p>Below is a simple example of an ApplicationController.</p>
<blockquote>
<pre class="csharpcode"><span class="kwrd">namespace</span> MvcSite.Controllers
{
    <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">class</span> ApplicationController : Controller
    {
        <span class="kwrd">private</span> MyEntities _dataContext = <span class="kwrd">new</span> MyEntities();

        <span class="kwrd">public</span> MyEntities DataContext
        {
            get { <span class="kwrd">return</span> _dataContext; }
        }

        <span class="kwrd">public</span> ApplicationController()
        {
            ViewData[<span class="str">"categories"</span>] = DataContext.Categories.ToList();
        }

    }
}</pre>
</blockquote>
<p>Hope this helps someone else as well. Certainly removed a headache for me!</p>
<p><!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ASP.NET+MVC' rel='tag' target='_self'>ASP.NET MVC</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2010/01/12/asp-net-mvc-passing-viewdata-to-a-masterpage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 and .Net 4.0 Beta 2 Download Available</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/10/20/visual-studio-2010-and-net-4-0-beta-2-download-available/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/10/20/visual-studio-2010-and-net-4-0-beta-2-download-available/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:21:37 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Betas]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[msdn]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[beta 2]]></category>
		<category><![CDATA[visual studio 2010]]></category>
		<category><![CDATA[vs2010]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/?p=233</guid>
		<description><![CDATA[Visual Studio 2010 and .Net 4.0 Beta 2 has now been released to members of MSDN, with a public download available from Wednesday. Beta 2 brings many improvements to the table, including improvements in Sharepoint, WPF, ASP.NET, WinForms, as well as improvements to the core IDE and testing tools. I saw some of these IDE improvements at [...]]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 2010 and .Net 4.0 Beta 2 has now been released to members of MSDN, with a public download available from Wednesday.</p>
<p>Beta 2 brings many improvements to the table, including improvements in Sharepoint, WPF, ASP.NET, WinForms, as well as improvements to the core IDE and testing tools. I saw some of these IDE improvements at an event with Scott Gu in Manchester a couple of weeks ago and they look pretty cool.</p>
<p>Visual Studio now comes in several flavours, namely Premium, Professional and Ultimate and the good news is that TFS 2010 comes out of the box with all three.  Apparently it only takes 20 minutes to setup source control, bug and issue tracking and automated build with it.</p>
<p>Finally, another great piece of news is that this release also ships with a Go-live license, so this can be used for production projects if you wish <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you are a member of MSDN and want to download the beta now, you <a href="http://go.microsoft.com/fwlink/?LinkID=151797">can get it from here</a>.</p>
<p>For more information on the release visit Scott Gu&#8217;s blog where you he has started a <a href="http://weblogs.asp.net/scottgu/archive/2009/08/25/vs-2010-and-net-4-series.aspx">series of posts on the new features in 2010 Beta 2</a>.</p>
<p>Have any of you been using Beta 1? Will you be using Beta 2? What do you think of the way 2010 and .Net 4.0 are shaping up?</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/.NET+4.0' rel='tag' target='_self'>.NET 4.0</a>, <a class='technorati-link' href='http://technorati.com/tag/beta+2' rel='tag' target='_self'>beta 2</a>, <a class='technorati-link' href='http://technorati.com/tag/visual+studio+2010' rel='tag' target='_self'>visual studio 2010</a>, <a class='technorati-link' href='http://technorati.com/tag/vs2010' rel='tag' target='_self'>vs2010</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/10/20/visual-studio-2010-and-net-4-0-beta-2-download-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BOOK REVIEW: Professional Refactoring in C# and ASP.NET (Wrox)</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 10:37:11 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[wrox]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/</guid>
		<description><![CDATA[Title: Professional Refactoring in C# and ASP.Net Publisher: Wrox Author: Danijel Arsenovski Even the most experienced developers can sometimes be found sat staring at their monitor trying to decide which way to implement a solution. Asking a fellow developer for input will probably result in more avenues to consider as opposed to narrowing down the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.garypretty.co.uk/wp-content/refact.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 20px 0px; border-top: 0px; border-right: 0px" src="http://blog.garypretty.co.uk/wp-content/refact_thumb.jpg" border="0" alt="refact" width="163" height="204" align="left" /></a></p>
<p><strong>Title:</strong> Professional Refactoring in C# and ASP.Net</p>
<p><strong>Publisher:</strong> Wrox</p>
<p><strong>Author:</strong> Danijel Arsenovski</p>
<p>Even the most experienced developers can sometimes be found sat staring at their monitor trying to decide which way to implement a solution. Asking a fellow developer for input will probably result in more avenues to consider as opposed to narrowing down the initial choice. But all things considered if the end result meets the user’s requirements does it really matter which design choice we make?</p>
<p>Well&#8230;&#8230;yes. The code will still need to be maintained and updated; this can be time consuming if the code is unstructured or messy. However with some refactoring techniques to follow it’s possible to make the right decisions during design and implementation and this book contains the techniques to help you make those decisions.</p>
<p><strong><br />
Why did I read this book?</strong></p>
<p>I’ve read a couple of books on the subject of refactoring, these where mainly concerned with the business logic layer side of applications so I was interested in what this book had to say about refactoring ASP.Net.</p>
<p><strong><br />
First Impressions</strong></p>
<p>The book starts with a good introduction of refactoring including its benefits and also spends some time “Debunking Common Misconceptions” (one or two I’ve firsthand experience of trying to dismiss) and “Smells”. This isn’t a scratch and sniff section but a way of identifying code that is a candidate for refactoring. Throughout the book Smells will be introduced along with ways to detect them, which refactoring technique to use to eliminate them and the rational for removing them.</p>
<p>The Introduction chapter includes an index of the Smells as well as Refactorings and Object-Orientated Design Principles so they can be quickly found and referenced. I found this to be really useful as I was working my way through the book. </p>
<p><strong><br />
What’s Covered</strong></p>
<p>In the words of the book;</p>
<blockquote><p>&#8220;This book covers the refactoring techniques that will enable you to become more efficient and productive. You will be able to use this information to respond to change and improve the design of existing code&#8221;.</p></blockquote>
<p>In my opinion this book does indeed go a long way to achieving the above statement.</p>
<p>The book covers the following areas;</p>
<ul>
<li>Assembling a refactoring toolkit</li>
<li>Techniques for performing unit testing </li>
<li>Tips on refactoring to patterns</li>
<li>Using refactoring to upgrade legacy C# and ASP.Net code</li>
<li>Using method extraction to eliminate duplicated code</li>
<li>Making code more simple and easier to understand</li>
<li>OO theory and design patterns</li>
<li>Methods for using LINQ and C# 3.0 enhancements</li>
</ul>
<p><strong><br />
What I Liked?</strong></p>
<p>I enjoyed the chapters on “LINQ and Other C# 3.0 Enhancements” and “Refactoring ASP.NET Applications” which I found very insightful and will be using some of these techniques in the future.</p>
<p>Most of this book is, obviously, based around Refactoring Techniques and these chapters are very well presented with good code examples. I like the way that the Smells and Refactorings are emphasised throughout the chapters as this reinforces the point being made as well as making the sections easier to locate when you want to reference them.</p>
<p>Although I have read about refactoring before I did enjoy reading through these chapters which reinforced what I had previously read and having the examples in C# was a real advantage as this is the language that I currently develop with.</p>
<p><strong><br />
What Could Be Better?</strong></p>
<p>I’m a big advocate of Test Driven Development (TDD) and I think that this methodology is key when refactoring. Always having a number of tests for the code that you are refactoring allows you the confidence to alter the code knowing that if your change was to impact an area you weren’t expecting this would be highlighted to you with a failed test. Although this is mentioned in this book I think that this should have been given more emphasis.</p>
<p><strong><br />
The Final Verdict</strong></p>
<p>All in all this was a good and worthwhile read and although I would not recommend relying on simply this book for all areas of knowledge of this subject (i.e. TDD), I would certainly recommend the book to my peers.</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ASP.Net' rel='tag' target='_self'>ASP.Net</a>, <a class='technorati-link' href='http://technorati.com/tag/book+review' rel='tag' target='_self'>book review</a>, <a class='technorati-link' href='http://technorati.com/tag/C%23' rel='tag' target='_self'>C#</a>, <a class='technorati-link' href='http://technorati.com/tag/refactoring' rel='tag' target='_self'>refactoring</a>, <a class='technorati-link' href='http://technorati.com/tag/wrox' rel='tag' target='_self'>wrox</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BOOK REVIEW: ASP.Net MVC 1.0, Problem &#8211; Design &#8211; Solution (Wrox)</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 15:03:19 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[wrox]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/</guid>
		<description><![CDATA[Title: ASP.NET MVC 1.0 Problem – Design – Solution Publisher: Wrox Authors: Nick Beradi, Al Katawazi, Marco Bellinaso It seems that recently every man and his dog have been talking about ASP.Net MVC and the many advantages it brings along with it.  I have to admit that, up until now, I have not really looked [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://blog.garypretty.co.uk/wp-content/mvcbook.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 35px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="mvcbook" src="http://blog.garypretty.co.uk/wp-content/mvcbook_thumb.jpg" border="0" alt="mvcbook" width="244" height="244" align="left" /></a> Title:</strong> ASP.NET MVC 1.0 Problem – Design – Solution</p>
<p><strong>Publisher:</strong> Wrox</p>
<p><strong>Authors:</strong> Nick Beradi, Al Katawazi, Marco Bellinaso</p>
<p>It seems that recently every man and his dog have been talking about ASP.Net MVC and the many advantages it brings along with it.  I have to admit that, up until now, I have not really looked into it a great deal, except for watching a couple of sessions at last years MSDN Roadshow.  Anyway, I decided that it was about time I found out more about ASP.Net MVC and see if it really was worth all of the hype.</p>
<p><strong></strong></p>
<p>Why did I read THIS book?</p>
<p>The reason I chose this book was two fold – firstly, it claimed to give you a good grounding in using ASP.Net MVC to those with experience of ASP.Net Web Development.  Secondly, in the books’ own words it provided “solid, workable solutions to real work problems” (I was dubious about this claim….many books I have read have claimed to do this and failed miserably with the first couple of chapters).</p>
<p><strong><br />
First Impressions</strong></p>
<p>Right from the very first chapter it starts off on the correct foot, giving an overview of the application you will create as you work through the book, that application being The Beer House, which is available for download as a starter kit.  The main attraction of this application to me was that it contained many of the features I often implement in my own applications, such as forums, article management and user profile / membership management.  The idea of reading a book that directly relates to my real-world programming was a big pull for me.</p>
<p>Thankfully, this book certainly does not try and force MVC down your throat as a must-use solution, instead giving an honest opinion that, yes MVC is very useful in many situations, but that in other situations, classic ASP.Net Web Forms may still be the more logical option.  This is a refreshing change from some of the other more self-righteous books I have had the des-pleasure of sampling where they simply see their subject matter and related methods as the only way to go.</p>
<p><strong><br />
What’s Covered?</strong></p>
<p>I don’t think I can put the content of the book in better words that the book itself, so here are those very words;</p>
<li>Techniques for building a flexible, easily configurable, and instrumented site</li>
<li>How to use jQuery to enhance and extend the capabilities of your ASP.NET MVC site</li>
<li>How to design a module to manage articles, news, and blog posts</li>
<li>Tips for creating and managing multiple polls on your site</li>
<li>Ways to build a robust newsletter system for e–mail newsletters on a background thread</li>
<li>How to develop a Web 2.0 community–centric forum from scratch</li>
<li>Steps for adding a working e–commerce store based on PayPal</li>
<li>All the different ways to deploy an ASP.NET MVC site</li>
<p>All of the above is covered in ample detail and I really did find this book extremely useful when relating the MVC implementation with my tradition Web Forms methods.</p>
<p>I especially liked the fact that attention was paid to the design of the application you create.  Coming from a web design background I am often astounded by the lack of attention paid to this area and it was pleasing to see a chapter dedicated to this for the non-design minded developer.</p>
<p>The other thing I loved about this book was that as well as ensuring every detail was covered off when developing each solution for the Beer House application, the authors have made a clear effort to highlight when something more may be needed in different circumstances and provided sample code and examples where needed.</p>
<p><strong><br />
Source Code Problems</strong></p>
<p>Probably the only bad thing I have to say about this book were the problems I had when attempting to get the source code to compile once I had downloaded it from the Wrox web site.  I think the main problem was that the code on the site was possibly an old version with several other versions kicking around the internet.  I am unsure as to which was the correct up-to-date copy.</p>
<p>However, all that said, with some tinkering, I did manage to get it to compile and what a lovely application it is. <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><br />
The Final Verdict</strong></p>
<p>I found this book to be an extremely concise and focused journey through ASP.Net MVC and a perfect introduction to the subject and I would highly recommend it to anybody who is looking for a good grounding in the subject.</p>
<p>This was also my first read of a book from the <strong>Problem – Design – Solution </strong>series from Wrox, and if the other books in the series are in a similar style, then I look forward to reading more as the straight forward style with real-world connections suited me down to the ground.  </p>
<p>You can find this book <a href="http://www.amazon.co.uk/ASP-NET-MVC-1-0-Website-Programming/dp/0470410957" target="_blank">for sale on Amazon</a> or from <a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470410957.html" target="_blank">the Wiley web site</a>.</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ASP.Net' rel='tag' target='_self'>ASP.Net</a>, <a class='technorati-link' href='http://technorati.com/tag/ASP.NET+MVC' rel='tag' target='_self'>ASP.NET MVC</a>, <a class='technorati-link' href='http://technorati.com/tag/book+review' rel='tag' target='_self'>book review</a>, <a class='technorati-link' href='http://technorati.com/tag/C%23' rel='tag' target='_self'>C#</a>, <a class='technorati-link' href='http://technorati.com/tag/wrox' rel='tag' target='_self'>wrox</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TUTORIAL: Entity Framework v2.0 &#8211; Model First using Visual Studio 2010 and .Net 4.0</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/05/20/tutorial-entity-framework-v20-model-first-using-visual-studio-2010-and-net-40/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/05/20/tutorial-entity-framework-v20-model-first-using-visual-studio-2010-and-net-40/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:36:56 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[ado.net]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[.net 4]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2009/05/20/tutorial-entity-framework-v20-model-first-using-visual-studio-2010-and-net-40/</guid>
		<description><![CDATA[Following up on my recent post about the improvements to the Entity Framework in .Net 4.0 this is the first in a series of posts examining some of the new features and showing you how to put some of them into practice. In this post I am going to look at one of the most [...]]]></description>
			<content:encoded><![CDATA[<p>Following up on my recent post about the improvements to the Entity Framework in .Net 4.0 this is the first in a series of posts examining some of the new features and showing you how to put some of them into practice.</p>
<p>In this post I am going to look at one of the most anticipated features, Model First.  In the first version of the Entity Framework, you took a pre-existing database and the tools would generate your entity model for you.  In v2.0, you now have the option of creating your entity model first and then generating your database DDL from your finished model.</p>
<p>To follow this tutorial you will need Visual Studio 2010 Beta 1, .Net Framework 4.0 Beta 1 installed, SQL 2005 or 2008 / SQL Express.</p>
<p><strong><span style="color: #ff8000;">Please bear with me and let me know if there are any parts of this tutorial that are not completely clear.  I am new to writing these! So any comments welcome….</span></strong></p>
<p><strong>Creating your project and adding your blank entity model</strong></p>
<p>Open Visual Studio 2010 and create a new Dynamic Data Entities Web Application project(you could another project type to host your entity model, such as an ASP.Net Web Application).</p>
<p>Once your project has been created add a new <strong>ADO.Net Entity Data Model </strong>to the project. </p>
<p><a href="http://blog.garypretty.co.uk/wp-content/add-model-object.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="add_model_object" src="http://blog.garypretty.co.uk/wp-content/add-model-object-thumb.gif" border="0" alt="add_model_object" width="523" height="364" /></a></p>
<p>You will then be asked about what the model should contain.  As with version 1 of the Entity Framework, you have two options, <em>Generate from Database </em>and <em>Empty Model</em>.  To a large extent, the latter was redundant in the first version of the framework, but with version 2 it becomes very useful.  Select <strong><em>Empty Model</em></strong> and click Finish.<span id="more-121"></span></p>
<p><a href="http://blog.garypretty.co.uk/wp-content/choose-empty-model.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="choose_empty_model" src="http://blog.garypretty.co.uk/wp-content/choose-empty-model-thumb.gif" border="0" alt="choose_empty_model" width="526" height="467" /></a></p>
<p><strong></strong></p>
<p><strong><br />
Adding an entity and scalar properties to your model</strong></p>
<p>You will now be presented with your empty model designer ready for you to add your entities.  Right click on the designer and select <strong>Add –&gt; Entity…  </strong>For this example we will name our entity “Customer” and the entity set “Customers”.  This will create your Customer entity in the designer.</p>
<p>You will now need to add some properties to the entity.  You can do this by right clicking the entity and <strong>Add –&gt; Scalar Property </strong>and then selecting the data type of the property. Do this and create two string scalar properties for Name and Email.</p>
<p><strong></strong></p>
<p><strong><br />
Adding complex types</strong></p>
<p>You should now have a Customer entity with properties for the customer’s name and email address. A complex type is essentially a property that can contain sub properties.  To display this we are going to create one for the customer’s mailing address.</p>
<p>In your model browser, right click on the “Complex Types” folder and select <strong>Create Complex Type</strong>.  Rename this created type “Address”.  Now right click on the <strong>Address </strong>object you have created and select <strong>Add –&gt; Scalar Property –&gt; String</strong>.  Rename the created property “Line 1”.  Repeat this, adding properties for Line 2, Town, County, Post Code (you could use City, State, Zip if you are in the U.S. for example).</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/entity-created-add-scalar.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="entity_created_add_scalar" src="http://blog.garypretty.co.uk/wp-content/entity-created-add-scalar-thumb.gif" border="0" alt="entity_created_add_scalar" width="531" height="246" /></a></p>
<p>Once you have created your complex type, you can add this to your Customer entity by right clicking the entity and selecting <strong>Add –&gt; Complex Property</strong>. If you name your property Address, then the property type should automatically be set to <em>Address</em>, which is what we have just created.  You can check this and alter the type via the properties of the complex property (that’s a lot of properties <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p> </p>
<p><strong>Create some additional entities</strong></p>
<p>Once I had created my Customer entity, I then went through the same steps to create two additional entities for <strong>Order</strong> and <strong>Product</strong>. If you do this, then you should end up with something like below.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/finished-entities.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="finished_entities" src="http://blog.garypretty.co.uk/wp-content/finished-entities-thumb.gif" border="0" alt="finished_entities" width="531" height="419" /></a></p>
<p><strong></strong></p>
<p><strong><br />
Adding entity associations</strong></p>
<p>Now that we have our entities for Customer, Order and Product, we need to tell the model how the entities are associated.  For example, a customer will have related orders and an order will have related products.</p>
<p>To add our first association, right click the Customer entity and select <strong>Add –&gt; Association</strong>. You will then be presented with the dialog shown below to actually define the association.  As you can see, the primary entity for this association is Customer which is related to Order with a multiplicity of one-to-many.  Here is where we also set the navigation properties which will allow us to access related entities.  So for example, the Customer entity will have a navigation property of “Orders”.  There is also a plain English description of the association you are about to create to ensure that you are creating it correctly.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/create-association.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="create_association" src="http://blog.garypretty.co.uk/wp-content/create-association-thumb.gif" border="0" alt="create_association" width="530" height="508" /></a>  </p>
<p>Once you are happy click ok and the association will be shown on your model connecting the Customer and Order entities.</p>
<p>We now need to also create an association between the Order and Product entities using the same steps as above, but this time the properties of the association are slightly different as the multiplicity is many-to-many as show below.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/manytomanyassociation.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="many-to-many-association" src="http://blog.garypretty.co.uk/wp-content/manytomanyassociation-thumb.gif" border="0" alt="many-to-many-association" width="534" height="512" /></a></p>
<p><strong></strong></p>
<p><strong><br />
Generating the database</strong></p>
<p>Ok, so we have our model containing our entities.  Our entities have their properties and their associations, but we still do not have a database for our model to map to.  This is the bit I really like.  Right click on the model designer area and click “<strong>Generate Database Script From Model…</strong>”.</p>
<p>This will then open the standard database connection dialog we are all used to in Visual Studio. Add a connection, select your server and enter a name for your database (use a name that does not already exist, I called mine “ModelFirstTestDb”…..original I know!), then click OK.  You should then be prompted to create the database as seen below, so click Yes to create the database.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/confirm-database-create.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="confirm_database_create" src="http://blog.garypretty.co.uk/wp-content/confirm-database-create-thumb.gif" border="0" alt="confirm_database_create" width="532" height="543" /></a></p>
<p>You should now see your new connection selected and the option to store the credentials in the web.config should be checked. Click next and the database schema scripts (DDL) will be generated for you and you will be presented with the generated script as below.  Take a minute to have a look through the DDL and see how it has created the tables and fields.  In the image below you can see the fields that have been generated to map to the complex type for the Customer address we created earlier.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/generated-ddl.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="generated_ddl" src="http://blog.garypretty.co.uk/wp-content/generated-ddl-thumb.gif" border="0" alt="generated_ddl" width="535" height="517" /></a></p>
<p>Now we just need to click Finish and we will be warned that our existing mappings and store schema will be overwritten, click Yes to continue.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/ssdl-warning.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ssdl_warning" src="http://blog.garypretty.co.uk/wp-content/ssdl-warning-thumb.gif" border="0" alt="ssdl_warning" width="434" height="129" /></a></p>
<p><strong></strong></p>
<p><strong><br />
Execute your DDL</strong></p>
<p>Now you need to take the generated script and execute it against your database.  The database itself will have been created, but in this beta version you still need to execute the scripts manually.  The ADO.Net team have indicated that this will not be the case in the final version.</p>
<p><strong></strong></p>
<p><strong><br />
Running your Dynamic Data Entities application</strong></p>
<p>If you now open the Global.asax.cs file in your project and add the following line in the RegisterRoutes method, you should be able to run your application and see your new model and database in action;</p>
<p><span style="font-size: xx-small;"><strong>DefaultModel.RegisterContext(typeof(Model1Container),new ContextConfiguration() { ScaffoldAllTables = true });</strong></span></p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/.net+4' rel='tag' target='_self'>.net 4</a>, <a class='technorati-link' href='http://technorati.com/tag/ado.net' rel='tag' target='_self'>ado.net</a>, <a class='technorati-link' href='http://technorati.com/tag/Entity+Framework' rel='tag' target='_self'>Entity Framework</a>, <a class='technorati-link' href='http://technorati.com/tag/tutorial' rel='tag' target='_self'>tutorial</a>, <a class='technorati-link' href='http://technorati.com/tag/visual+studio+2010' rel='tag' target='_self'>visual studio 2010</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/05/20/tutorial-entity-framework-v20-model-first-using-visual-studio-2010-and-net-40/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 Beta This Week?</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/05/09/visual-studio-2010-beta-this-week/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/05/09/visual-studio-2010-beta-this-week/#comments</comments>
		<pubDate>Sun, 10 May 2009 03:20:38 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Betas]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/?p=78</guid>
		<description><![CDATA[So, I have my Windows 7 RC up and running and I am now itching to get hold of a beta of Visual Studio 2010. I held off downloading the Virtual PC CTP ion order to wait for an installable version, but that seems to have been a long time coming. The wait may be [...]]]></description>
			<content:encoded><![CDATA[<p>So, I have my Windows 7 RC up and running and I am now itching to get hold of a beta of Visual Studio 2010.</p>
<p>I held off downloading the Virtual PC CTP ion order to wait for an installable version, but that seems to have been a long time coming.</p>
<p>The wait may be over this week though as a lot of rumours are going around that put the release of a beta within the TechEd timeframe (May 11 &#8211; May 15).</p>
<p>Fingers Crossed!</p>
<p>Have you tried the CTP yet? What did you think?</p>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/beta' rel='tag' target='_self'>beta</a>, <a class='technorati-link' href='http://technorati.com/tag/visual+studio+2010' rel='tag' target='_self'>visual studio 2010</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/05/09/visual-studio-2010-beta-this-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wheelie Bin Cleaning</title>
		<link>http://blog.garypretty.co.uk/index.php/2009/02/19/wheelie-bin-cleaning/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2009/02/19/wheelie-bin-cleaning/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 12:23:09 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Expression Web]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/?p=40</guid>
		<description><![CDATA[Odd title you are thinking??  Well, I have gotten to thinking that I should write a post when I publish a new web site for any of my clients, so that I can get comments and feedback from you all. Lakemere Environmental Services are a domestic and commercial cleaning services company, who offer amongst other things [...]]]></description>
			<content:encoded><![CDATA[<p>Odd title you are thinking??  Well, I have gotten to thinking that I should write a post when I publish a new web site for any of my clients, so that I can get comments and feedback from you all.</p>
<p><a title="Lakemere Environmental Services" href="http://www.lakemere-enviro.co.uk">Lakemere Environmental Services</a> are a domestic and commercial cleaning services company, who offer amongst other things wheelie bin cleaning (hence the title).</p>
<p>Their web site, which I have developed using Expression Web 2, went live recently.  It is written in ASP.Net / C#, has a SQL 2005 back end and uses ASP.Net Dynamic Data for the administration panel for updating news etc.  The web site also features basic WorldPay integration.  However, I am most pleased with the look and feel of this web site and the initial feedback from the client has been fantastic.  They have already had several new online orders roll in.</p>
<p>So, if you want to see the web site to check out the design, or you fancy getting some <a title="wheelie bin cleaning" href="http://www.lakemere-enviro.co.uk/wheelie_bin_cleaning.aspx">wheelie bin cleaning</a> or <a title="commercial cleaning services" href="http://www.lakemere-enviro.co.uk/commercial.aspx">commercial cleaning services</a> for yourself, I can highly recommend <a title="Domestic and Commercial cleaning services" href="http://www.lakemere-enviro.co.uk">Lakemere Environmental Services</a> for the job.</p>
<p>Seriously though, shamless plug aside, please do leave a comment and let me know what you think.  I also have some more sites due to go live in the coming weeks and I will link to them as well.</p>

<!-- start wp-tags-to-technorati 1.01 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2009/02/19/wheelie-bin-cleaning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSDN Roadshow 2008 Review and Useful Links</title>
		<link>http://blog.garypretty.co.uk/index.php/2008/05/07/msdn-roadshow-2008-review-and-useful-links/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2008/05/07/msdn-roadshow-2008-review-and-useful-links/#comments</comments>
		<pubDate>Wed, 07 May 2008 10:08:46 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[msdn]]></category>
		<category><![CDATA[.net 3.5]]></category>
		<category><![CDATA[ado.net]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Dynamic Data]]></category>
		<category><![CDATA[Microsoft Robotics]]></category>
		<category><![CDATA[XNA Framework]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/index.php/2008/05/07/msdn-roadshow-2008-review-and-useful-links/</guid>
		<description><![CDATA[Ok, so a few weeks ago I posted about my plans to attend the MSDN Roadshow 2008 in Manchester and I said that I would post about the event once I had attended.&#160; So as promised here is that very post along with some useful links; Firstly, the venue for this years event was excellent.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so a few weeks ago I posted about my plans to attend the MSDN Roadshow 2008 in Manchester and I said that I would post about the event once I had attended.&#160; So as promised here is that very post along with some useful links;</p>
<p>Firstly, the venue for this years event was excellent.&#160; The Odeon in Manchester City Centre in the Printworks is quite simply huge.&#160; Luckily there were escalators for those of use who were to lazy to climb all of the stairs.</p>
<p>Once you reached the third floor, we were greeted by poster boxes with MSDN posters inside with some nice quotes, such as &quot;There&#8217;s No Place Like 127.0.0.1&quot; and &quot;I&#8217;ll make him a program he can&#8217;t refuse&quot;, which was a nice touch I thought. <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Made the whole thing feel like more of an event rather than just a meeting.</p>
<p>In the corridor outside of the actual conference room were the usual stands familiar to those who have attended a Roadshow before, such as the registration table, a stand with discount books from the guys over at <a href="http://www.computermanuals.co.uk">Computer Manuals</a> selling discounted books on a variety of subjects from Expression to LINQ and of course, every developers favourite stand, the SWAG stand, with free goodies like the updated Developers Highway Code (which is available for download and I have included a link in the useful links later in this post).&#160; We did all get a free software pack when we left, but more on that shortly.</p>
<p>In addition to the usual stands this year though, we were treated to a couple of really interesting tables showing off the XNA Framework on a dev Xbox 360 and the new Microsoft Robotics studio.&#160; I have to say, some of the games produced with the XNA framework for the 360 were pretty impressive and most of them are available as starter kits from Microsoft if you&#8217;re interested.&#160; I will include some links for both of these areas at the end of this post.</p>
<p><a href="http://blog.garypretty.co.uk/wp-content/imag0038.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 20px 0px 0px; border-right-width: 0px" height="249" alt="IMAG0038" src="http://blog.garypretty.co.uk/wp-content/imag0038-thumb.jpg" width="330" align="left" border="0" /></a>The conference room itself was actually a cinema room (surprisingly being at the Odeon <img src='http://blog.garypretty.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), which was fantastic.&#160; This meant most people got comfortable seats to enjoy the show and those all important cup holders! I arrived slightly late, and so didn&#8217;t manage to get a seat, however, the nice Roadshow staff got me a seat and put me right at the side of the stage and I got a ringside seat which was great.&#160; As you can see from the picture to the right (apologies for the quality, somehow I managed to set my camera phones&#8217; resolution unusually low by mistake) of MSDNs Mike Ormond presenting, the slide being on a cinema screen really helped, as they were always clear and nobody was struggling to see anything.</p>
<p>The presentations themselves were, as always, of an excellent quality, with the speakers conveying their expert knowledge in their respective topics clearly and concisely.&#160; I particularly enjoyed <a href="http://www.mikeo.co.uk">Mike Ormond</a>s&#8217; talk on the ASP.NET 3.5 Extensions, especially the new Dynamic Data capabilities (which I am hopefully going to be posting a small tutorial series about shortly. If you&#8217;re interested, add this blog to you&#8217;re favourites or subscribe to my RSS Feed).</p>
<p>The refreshments this year were good, a choice between ham, cheese and chicken sandwiches, along with crisps and soft drinks for lunch.&#160; Very nice Coffee during the breaks and even popcorn or Ben and Jerrys ice cream in the afternoon!</p>
<p>As I have already mentioned, if you handed in your feedback form and your pass before you left you were treated to a nice software pack, which didn&#8217;t disappoint.&#160; Contained within the set were promotional copies of Windows Server 2008 32bit and 64bit editions, SQL Server 2008 Preview along with a voucher to get a development copy when it is released, and my personal favourite, a full copy of Visual Studio 2008.</p>
<p>All in all, an excellent day, well put together and very well received!</p>
<p>One last note, the MSDN Roadshow&#8217;s are an invaluable free event from Microsoft giving excellent technical and hands-on insight into the latest techniques and strategies for developers.&#160; Every year they seem to sell out really fast, so my one message to you for next year is&#8230;.<strong>REGISTER EARLY!</strong></p>
<p>Now as promised, some useful links regarding the days speakers, events and topics;   <br /><strong></strong></p>
<p><strong>Presentation Slides </strong></p>
</p>
<p>Definitely worth a look through&#8230;.. </p>
<li><a href="http://download.microsoft.com/documents/uk/msdn/events/MikeTaulty_Session1_ADO_NEXT.pptx">ADO.NEXT &#8211; Entity Framework &amp; Data Services</a> (PPTX) </li>
<li><a href="http://download.microsoft.com/documents/uk/msdn/events/MikeOrmond_ASPNETNEXT_Roadshow.pptx">ASP.NEXT &#8211; The ASP.NET 3.5 Extensions</a> (PPTX) </li>
<li><a href="http://download.microsoft.com/documents/uk/msdn/events/Silverlight2_Moth_timings.pptx">Building Rich Internet UI with Silverlight 2</a> (PPTX) </li>
<li><a href="http://download.microsoft.com/documents/uk/msdn/events/TeamSuiteSession4.pptx">Getting the most from the Visual Studio Team Suite Toolbox</a> (PPTX)<strong>      <br /></strong><strong>     <br /></strong>
<p><strong>       <br />Speakers Blog&#8217;s</strong></p>
<p>I cannot recommend subscribing to these blogs enough.&#160; I read them regularly and the writers never fail to deliver worthwhile and timely posts regarding the latest in Microsoft technology. </p>
</li>
<li><a href="http://blogs.msdn.com/mikeormond/" target="_blank">Mike Ormond&#8217;s blog</a> </li>
<li><a href="http://www.danielmoth.com/Blog/" target="_blank">Daniel Moth&#8217;s blog</a> </li>
<li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/" target="_blank">Mike Taulty&#8217;s blog</a> </li>
<li><a href="http://blogs.msdn.com/ukvsts/" target="_blank">Neil Kidd&#8217;s team blog</a><strong>      <br /></strong><strong>     <br /></strong>
<p><strong>       <br />Sites regarding specific topics of this years Roadshow</strong></p>
<p>These are some links referencing the actual subjects and technology discussed during this years roadshow. </p>
</li>
<li><a href="http://code.msdn.microsoft.com/dynamicdata" target="_blank">Dynamic Data</a> </li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=110956" target="_blank">ASP.NET MVC Preview 2</a> </li>
<li><a href="http://www.microsoft.com/uk/msdn/screencasts/tags/ADO.NET/default.aspx?pg=3" target="_blank">MSDN UK screencasts on ADO.NET</a> </li>
<li><a href="http://asp.net/downloads/3.5-extensions" target="_blank">ASP.NET 3.5 Extensions Preview</a> </li>
<li><a href="http://blogs.msdn.com/mikeormond/archive/2008/04/23/asp-next.aspx" target="_blank">Excellent blog post from Mike Ormond with more great links for ASP.NET 3.5 Extensions</a> </li>
<li><a href="http://silverlight.net" target="_blank">Silverlight</a><strong></strong><strong> </strong></li>
<p> <strong>
<p></p>
<p> </strong>
<p><strong>Xbox 360 XNA Game Framework and Microsoft Robotics Studio and the Developer Highway Code</strong></p>
<p>As promised, a couple of links to the areas that were the subject of two impressive stands this years event.</p>
<li><a href="http://www.xna.com/" target="_blank">Microsoft XNA (with links for both casual and professional games development)</a> </li>
<li><a href="http://msdn.microsoft.com/en-us/robotics/default.aspx" target="_blank">Microsoft Robotics Developer Center</a> </li>
<li><a href="http://msdn.microsoft.com/en-gb/security/aa473878.aspx" target="_blank">Microsoft Developer Highway Code Download</a> </li>

<!-- start wp-tags-to-technorati 1.01 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/.net+3.5' rel='tag' target='_self'>.net 3.5</a>, <a class='technorati-link' href='http://technorati.com/tag/ado.net' rel='tag' target='_self'>ado.net</a>, <a class='technorati-link' href='http://technorati.com/tag/ASP.NET+MVC' rel='tag' target='_self'>ASP.NET MVC</a>, <a class='technorati-link' href='http://technorati.com/tag/Dynamic+Data' rel='tag' target='_self'>Dynamic Data</a>, <a class='technorati-link' href='http://technorati.com/tag/Microsoft+Robotics' rel='tag' target='_self'>Microsoft Robotics</a>, <a class='technorati-link' href='http://technorati.com/tag/msdn' rel='tag' target='_self'>msdn</a>, <a class='technorati-link' href='http://technorati.com/tag/Silverlight' rel='tag' target='_self'>Silverlight</a>, <a class='technorati-link' href='http://technorati.com/tag/XNA+Framework' rel='tag' target='_self'>XNA Framework</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2008/05/07/msdn-roadshow-2008-review-and-useful-links/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
