<?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>Sat, 04 Feb 2012 00:32:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Christmas Presents App for Windows Phone 7</title>
		<link>http://blog.garypretty.co.uk/index.php/2010/10/16/christmas-presents-app-for-windows-phone-7/</link>
		<comments>http://blog.garypretty.co.uk/index.php/2010/10/16/christmas-presents-app-for-windows-phone-7/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 22:30:18 +0000</pubDate>
		<dc:creator>Gary Pretty</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://blog.garypretty.co.uk/?p=266</guid>
		<description><![CDATA[I have been incredibly busy the last few months and some of the things I have been working on are applications for Windows Phone 7. Today saw the publication of the first of my applications to the Windows Phone 7 marketplace, Christmas Presents. Christmas Presents is a simple but effective application that will allow you to manage all &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2010/10/16/christmas-presents-app-for-windows-phone-7/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I have been incredibly busy the last few months and some of the things I have been working on are applications for Windows Phone 7.</p>
<p>Today saw the publication of the first of my applications to the Windows Phone 7 marketplace, Christmas Presents.</p>
<p>Christmas Presents is a simple but effective application that will allow you to manage all of your Christmas shopping, ensuring that you stay on top of which presents you need to buy, who they are for and how much you are spending.</p>
<p>Currently features include</p>
<p>- A summary including the overall budget, remaining spend and a countdown to Christmas.<br />
- Individual budgets for each person.<br />
- Mark presents as purchsed and then wrapped.<br />
- Shopping list displaying all presents that haven&#8217;t been purchased yet.<br />
- Currency automatically matches your phone settings.</p>
<p>If you have the Zune client installed you can see the <a href="http://social.zune.net/redirect?type=phoneApp&amp;id=e6ae1eca-20d7-df11-a844-00237de2db9e">Christmas Presents app page here</a>.</p>
<p>Below are some screenshots of the application.  <strong>Please comments and let me know that you think and what features you would like to see included in future versions.</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<div id="attachment_273" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.garypretty.co.uk/wp-content/summary.png"><img class="size-full wp-image-273" title="Summary Screen" src="http://blog.garypretty.co.uk/wp-content/summary.png" alt="Summary Screen" width="300" height="500" /></a><p class="wp-caption-text">Summary Screen</p></div>
<div id="attachment_270" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.garypretty.co.uk/wp-content/peoplelist.png"><img class="size-full wp-image-270" title="People List" src="http://blog.garypretty.co.uk/wp-content/peoplelist.png" alt="People List" width="300" height="500" /></a><p class="wp-caption-text">People List</p></div>
<div id="attachment_271" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.garypretty.co.uk/wp-content/persondetails.png"><img class="size-full wp-image-271" title="Person Details" src="http://blog.garypretty.co.uk/wp-content/persondetails.png" alt="Person Details" width="300" height="500" /></a><p class="wp-caption-text">Person Details</p></div>
<div id="attachment_272" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.garypretty.co.uk/wp-content/shoppinglist.png"><img class="size-full wp-image-272" title="Shopping List" src="http://blog.garypretty.co.uk/wp-content/shoppinglist.png" alt="Shopping List" width="300" height="500" /></a><p class="wp-caption-text">Shopping List</p></div>
<p><strong><br />
<span style="font-weight: normal;">Again, please comment and let me know what you think and what features you would like to see in future versions.</span></strong></p>

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

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://blog.garypretty.co.uk/index.php/2010/10/16/christmas-presents-app-for-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2010/05/19/bing-silverlight-control-with-the-bing-web-service-application/">Continue reading &#187;</a>]]></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.02 -->

<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]]></category>
		<category><![CDATA[ASP.NET MVC]]></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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2010/02/26/multi-select-list-box-in-asp-net-mvc/">Continue reading &#187;</a>]]></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.02 -->

<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>7</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]]></category>
		<category><![CDATA[ASP.NET MVC]]></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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2010/01/12/asp-net-mvc-passing-viewdata-to-a-masterpage/">Continue reading &#187;</a>]]></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.02 -->

<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>1</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]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Betas]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[Silverlight]]></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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/10/20/visual-studio-2010-and-net-4-0-beta-2-download-available/">Continue reading &#187;</a>]]></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.02 -->

<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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/08/07/book-review-professional-refactoring-in-c-and-asp-net-wrox/">Continue reading &#187;</a>]]></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.02 -->

<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]]></category>
		<category><![CDATA[ASP.NET MVC]]></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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/06/29/book-review-asp-net-mvc-1-0-problem-design-solution-wrox/">Continue reading &#187;</a>]]></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.02 -->

<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[ADO.NET]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Tutorials]]></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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/05/20/tutorial-entity-framework-v20-model-first-using-visual-studio-2010-and-net-40/">Continue reading &#187;</a>]]></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.02 -->

<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>7</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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/05/09/visual-studio-2010-beta-this-week/">Continue reading &#187;</a>]]></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.02 -->

<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 &#8230; </p><p><a class="more-link block-button" href="http://blog.garypretty.co.uk/index.php/2009/02/19/wheelie-bin-cleaning/">Continue reading &#187;</a>]]></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.02 -->

<!-- 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>
	</channel>
</rss>

