<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Geekswithblogs.net</title><link>http://geekswithblogs.net/MainFeed.aspx</link><description>Geekswithblogs.net</description><generator>Subtext Version 0.0.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/geekswithblogs" /><feedburner:info uri="geekswithblogs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Live Webcam for Annular Eclipse 19/20 May/2012</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/UBgeN8T1mOs/live-webcam-for-annular-eclipse-1920-may2012.aspx</link><pubDate>Sat, 19 May 2012 14:49:14 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/19/live-webcam-for-annular-eclipse-1920-may2012.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149691.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149691.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/19/live-webcam-for-annular-eclipse-1920-may2012.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149691.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Live Webcam for Annular Eclipse 19/20 May/2012</source><description>At &lt;a target="_blank" href="http://panasonic.net/eclipselive/"&gt;http://panasonic.net/eclipselive/&lt;/a&gt; there is a web cam for tonight's anuular eclipse.&lt;br /&gt;&lt;br /&gt;The broadcast starts at 22:00 UT tonight.&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149691.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/UBgeN8T1mOs" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/19/live-webcam-for-annular-eclipse-1920-may2012.aspx</feedburner:origLink></item><item><title>APress Deal of the Day - 19/May/2012 - HTML5 and JavaScript Projects</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/JXOABeRspG4/apress-deal-of-the-day---19may2012---html5-and.aspx</link><pubDate>Sat, 19 May 2012 06:10:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/19/apress-deal-of-the-day---19may2012---html5-and.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149690.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149690.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/19/apress-deal-of-the-day---19may2012---html5-and.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149690.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">APress Deal of the Day - 19/May/2012 - HTML5 and JavaScript Projects</source><description>Today's $10 deal from APress at &lt;a target="_blank" href="http://www.apress.com/9781430240327"&gt;http://www.apress.com/9781430240327&lt;/a&gt; is HTML5 and JavaScript Projects&lt;br /&gt;&lt;br /&gt;"&lt;em&gt;HTML5 and JavaScript Projects &lt;/em&gt;shows you how to build 
sophisticated applications using the core technologies of HTML5, 
including databases, localStorage, geolocation, video, and audio."&lt;br /&gt;&lt;br /&gt;
&lt;img alt="book cover" src="http://www.apress.com/media/catalog/product/cache/9/small_image/125x/040ec09b1e35df139433887a97daa66f/A/9/A9781430240327-small_2.png" /&gt;
&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149690.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/JXOABeRspG4" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/19/apress-deal-of-the-day---19may2012---html5-and.aspx</feedburner:origLink></item><item><title>Microsoft Press Ebook Deal of the Day - 19/May/2012 - Programming Windows®, 6th Edition </title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/cSkdAs7SFQo/microsoft-press-ebook-deal-of-the-day---19may2012.aspx</link><pubDate>Sat, 19 May 2012 05:35:22 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/19/microsoft-press-ebook-deal-of-the-day---19may2012.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149689.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149689.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/19/microsoft-press-ebook-deal-of-the-day---19may2012.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149689.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Microsoft Press Ebook Deal of the Day - 19/May/2012 - Programming Windows®, 6th Edition </source><description>At &lt;a target="_blank" href="http://shop.oreilly.com/product/0790145369079.do"&gt;http://shop.oreilly.com/product/0790145369079.do&lt;/a&gt; Microsoft Deal are offering an excellent deal on Programming Windows®, 6th Edition&lt;br /&gt;&lt;br /&gt;"Reimagined for full-screen and touch-optimized apps, Windows 8 
provides a platform for reaching new users in new ways. In response, 
programming legend Charles Petzold is rewriting his classic &lt;i&gt;Programming Windows&lt;/i&gt;—one
 of the most popular programming books of all time—to show developers 
how to use existing skills and tools to build Windows 8 apps. (See the 
book's "Description" tab.)&lt;p&gt;To celebrate, Microsoft Press will release three versions of the eBook for &lt;i&gt;Programming Windows, Sixth Edition&lt;/i&gt;,
 including two pre-release editions that provide crucial access to early
 content. Based on when you purchase (see table below), you will receive
 the most recently published version of the eBook—plus any subsequent 
versions—at special promotional pricing. Act between May 17-31, 2012, 
and your cost is just $10!&lt;/p&gt;The first "Consumer Preview eBook", based 
on Windows 8 Consumer Preview, will be approximately 300 pages. The 
second "Release Preview eBook," based on Windows 8 Release Preview, will
 update those pages and provide an additional 200-300 pages. The final 
eBook will be fully updated for the final Windows 8 software."&lt;br /&gt;&lt;br /&gt;
&lt;img alt="book cover" src="http://akamaicovers.oreilly.com/images/0790145369079/cat.gif" /&gt;
&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149689.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/cSkdAs7SFQo" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/19/microsoft-press-ebook-deal-of-the-day---19may2012.aspx</feedburner:origLink></item><item><title>BizTalk Host setup for your First BizTalk Projects</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/m1t7f1yVUFg/149688.aspx</link><pubDate>Fri, 18 May 2012 20:44:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2012/05/18/149688.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/149688.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/149688.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2012/05/18/149688.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/149688.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">BizTalk Host setup for your First BizTalk Projects</source><description>&lt;p&gt;Ive been speaking to a few people starting their organisations first BizTalk projects recently and talking about Host setup and what is a good intial setup and how it may change over time.  &lt;/p&gt;&lt;p&gt;Normally you see companies go one of two ways to begin with:&lt;/p&gt;&lt;p&gt;1. They just have one BizTalk host with an instance on each server and use it for everything&lt;/p&gt;&lt;p&gt;2. They have many instances for everything and use way more than they need to.&lt;/p&gt;&lt;p&gt;Im a big believer that a little thought about this and how your company plans to use BizTalk over time can help ensure you dont end up messing around with your host setup constantly.&lt;/p&gt;&lt;p&gt;I was saying to the team that probably the best way to start is create the following hosts to begin with.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A host called GenericRecevice which would be a host that your in process receive adapters can use&lt;/li&gt;&lt;li&gt;A host called GenericApplication which is a host for all of your orchestrations&lt;/li&gt;&lt;li&gt;A host called GenericSend which is a host for all of your send ports&lt;/li&gt;&lt;li&gt;A host called Tracking which is used for nothing but tracking.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I recommended they left the BizTalkApplication host because it can be the default incase anyone doesnt follow the above rules but do not have any instances of this host on any servers so your team are forced to fix configuration mistakes and to follow your host rules.&lt;/p&gt;&lt;p&gt;When you setup your host instances this obviously varies where you put each host instance based on the topology of your BizTalk group but having already splitt out your artefacts like suggested above makes it easier to move your hosts around in a consistent manner.&lt;/p&gt;&lt;p&gt;At this point you not have a clear well understood host setup and some simple rules around when you would use each one, however the key thing is that there will often be potential exceptions to these rules and you should ensure that if you want to create a new host for one or more artefacts you are able to explain clearly the reason for this new host and not just have a new host because the developer used a different name like Ive seen happen before.&lt;/p&gt;&lt;p&gt;Lastly a thought on the isolated host.  We often tend to just have the one BizTalk Server Isolated Host which comes out of the box and run different adapter types on seperate app pools in IIS as an example.  This will cover the majority of cases but of course again there will be occasions where you have a need to do something different which is fine so long as its clearly explained.&lt;/p&gt;&lt;p&gt;I would say that generally good reasons for new hosts out side of this patten will be:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Performance reasons&lt;/li&gt;&lt;li&gt;Security Isolation&lt;/li&gt;&lt;li&gt;Adapter specific scenarios&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Just a final note that this is intended as some advice when you start your companies first BizTalk projects.  If you set of with this configuration it should cover you nicely for most of your cases.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/149688.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/m1t7f1yVUFg" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2012/05/18/149688.aspx</feedburner:origLink></item><item><title>Cross-platform mobile packaging made easy with VSNomad</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/TJsBjEZTV5g/cross-platform-mobile-packaging-made-easy-with-vsnomad.aspx</link><pubDate>Fri, 18 May 2012 11:00:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/KyleBurns/archive/2012/05/18/cross-platform-mobile-packaging-made-easy-with-vsnomad.aspx</guid><wfw:comment>http://geekswithblogs.net/KyleBurns/comments/149686.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/KyleBurns/comments/commentRss/149686.aspx</wfw:commentRss><comments>http://geekswithblogs.net/KyleBurns/archive/2012/05/18/cross-platform-mobile-packaging-made-easy-with-vsnomad.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/KyleBurns/services/trackbacks/149686.aspx</trackback:ping><source url="http://geekswithblogs.net/KyleBurns/rss.aspx">Cross-platform mobile packaging made easy with VSNomad</source><description>&lt;p&gt;Since I have been interested in cross-platform mobile application development, but reluctant to leave behind the IDE goodness that is Visual Studio, I was invited to participate in a private early beta program for VSNomad and asked to share my thoughts.  One of the coolest things about the tool is that there is hardly anything to it, so most of this blog entry will be focused around the motivations for a tool like VSNomad rather than "all the things it does".  Access to the early beta program is "by request" as opposed to "invitation only", so I would encourage anyone that has an interest in building cross-platform mobile applications to go to &lt;a href="http://www.vsnomad.com"&gt;http://www.vsnomad.com&lt;/a&gt;, click the Download link, and sign up to be included in the beta.&lt;/p&gt;&lt;p&gt;In the desktop applications world, a reasonable argument can be made for creating native applications that are locked in to a specific OS vendor if accepting that lock-in will put you at a market advantage either by allowing you to create a better product, allowing the product to reach market more quickly, making the product less costly to build and maintain, or some combination of two or more of these factors.  I say there is a reasonable market for this based on the sheer numbers.  Even though Mac has very much increased in popularity and sales, much of that increase has been in the mobile space and many Mac users (even if grudgingly) accept that using VMWare Fusion or Bootcamp to make sure that they have an available instance of Windows available to run "that app" (whatever "that app" which requires Windows is for them).  Various versions of the Windows operating system pretty much dominate the desktop market with the installed base of some Windows version sitting just over 92% of the market, leaving just under 8% for "everyone else" with most of that 8% represented by Mac machines.&lt;/p&gt;&lt;p&gt;The tablet and mobile device story is another thing altogether.  The top players in this market (when lumped together) are the various flavors of Google's Android operating system at right about 50%, with Apple's more unified line coming in at about 30%, leaving still a fairly hefty 20% for "everyone else".  In this world it becomes a much more difficult decision to decide that you're ok with limiting your pool of potential customers to the user of a certain mobile OS, so the drive to either create multiple versions of your app or write your app in such a way that it can be used across platforms is much stronger.&lt;/p&gt;&lt;p&gt;HTML and JavaScript immediately jump to the front when thinking of UI work because these are well-understood and have supporting applications across virtually any modern client computing platforms, but when I think of HTML, I usually think of a browser running "safe" code in a sandboxed environment as opposed to a rich programming platform capable accessing the wide variety of devices and sensors that mark most of today's mobile platforms.  This creates the dilemna - how do we make use of the full capabilities of the device but write our applications in a way that allows us to easily support a variety of mobile platforms?  &lt;/p&gt;&lt;p&gt;The Apache Cordova project answers the question quite nicely by providing an abstraction layer on top of the various devices and services that you can expect to encounter on a mobile platform.  These devices and services include the Accelerometer for motion detection, Camera to capture images and video, Capture for audio, a Compass for directional information, network connectivity state information, a contacts list, basic device data (such as platform and identifying information), File I/O, Geolocation, Media, Notification services (sounds and "toast"), and a client side storage platform for data persistence.  For these services, Cordova becomes the single platform that you code against.  These libraries are packaged together with native shims which are responsible for handling the actual platform-specific interaction and allow the single set of application code to be built for any supported platform.&lt;/p&gt;&lt;p&gt;So now that I've shared the upside of Cordova and you're chomping at the bit to use your mad HTML skills to become a cross-platform mobile ninja, how do you get started?  The answer if you're using Cordova out of the box is "it depends."  The Cordova documentation actually has a seperate Getting Started section for each supporting platform, providing instructions including the installation of Eclipse, each of the supported platform-specific SDKs (for some platforms there will be multiple SDKs), and finally the installation of Cordova itself.  Once all the installation work is done, it's a simple matter of creating a project with the appropriate structure, digging through a few properties files to get them set up for the intended project and target platform, copying jar and js files to the right location in the structure and creating a java bootstrapper to load start page.  Then you can start writing your application.  Doesn't that sound easy and like the developer workflow you'd like to follow?  Me neither!&lt;/p&gt;&lt;p&gt;VSNomad smooths out many of the lumps in the COrdova workflow by providing a Visual Studio addin which is responsible for creating new Cordova projects with the necessary structure and starting files present and once the project is ready to be built for a device, a single button submits the project to VSNomad's cloud-based build service which handles integration with the appropriate SDK for the build target, leaving the developer's main focus on building a useful app.  Using the standard Visual Studio Project Properties paradigm, the user can set an intentionally sparse number of project settings specifying the target platform and supplying any additional information such as developer/app keys for the iOS targets.  Once you've clicked the button to submit your application to the cloud service, the cloud service packages up the application and the extension downloads the package which is now now ready to be deployed on your target device - in my case an apk file to be deployed on my son's Kindle Fire.&lt;/p&gt;&lt;p&gt;By default, the VSNomad project includes the Javascript library for Cordova and jQuery mobile, providing support building rich apps that default to an iOS look and feel.  Import a library like Knockoutjs for its data binding and MVVM support and you've got a very capable stack supported by the productivity inherent to working in Visual Studio.&lt;/p&gt;&lt;p&gt;With Cordova, access to devices and services is made simple so that as a developer you can focus more on WHAT should be done with these capabilities to make apps useful instead of HOW to access them.  VSNomad takes this story a step further by freeing you from mundane setup and configuration tasks and replacing them with a single button click.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/KyleBurns/aggbug/149686.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/TJsBjEZTV5g" height="1" width="1"/&gt;</description><dc:creator>Kyle Burns</dc:creator><feedburner:origLink>http://geekswithblogs.net/KyleBurns/archive/2012/05/18/cross-platform-mobile-packaging-made-easy-with-vsnomad.aspx</feedburner:origLink></item><item><title>WCF Error tracking</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PG0TbV--VMc/wcf-error-tracking.aspx</link><pubDate>Fri, 18 May 2012 14:24:19 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/pabothu/archive/2012/05/18/wcf-error-tracking.aspx</guid><wfw:comment>http://geekswithblogs.net/pabothu/comments/149685.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/pabothu/comments/commentRss/149685.aspx</wfw:commentRss><comments>http://geekswithblogs.net/pabothu/archive/2012/05/18/wcf-error-tracking.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/pabothu/services/trackbacks/149685.aspx</trackback:ping><source url="http://geekswithblogs.net/pabothu/rss.aspx">WCF Error tracking</source><description>&lt;p&gt;&lt;font size="2"&gt;Have you ever gotten errors when working with WCF services?&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;font size="2"&gt;Open up your web.config/app.config on the server side and add the following&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;pre class="brush:xml"&gt;&amp;lt;system.diagnostics&amp;gt;
 &amp;lt;!-- This logging is great when WCF does not work. --&amp;gt;
 &amp;lt;sources&amp;gt;
  &amp;lt;source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"&amp;gt;
   &amp;lt;listeners&amp;gt;
    &amp;lt;add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "c:\traces.svclog" /&amp;gt;
   &amp;lt;/listeners&amp;gt;
  &amp;lt;/source&amp;gt;
 &amp;lt;/sources&amp;gt;
&amp;lt;/system.diagnostics&amp;gt;&lt;/pre&gt;
&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;A file called &lt;strong&gt;traces.svclog&lt;/strong&gt; will be stored on your harddrive. This will contain the the error message that you're looking for. All you now need is the right tool to open it up. It is called &lt;strong&gt;svctraceviewer.exe&lt;/strong&gt; and usually resides in the folder &lt;i&gt;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin&lt;/i&gt;. If you don't have this folder or anything like it, you go download the Microsoft Windows SDK from &lt;/font&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&amp;amp;displaylang=en"&gt;&lt;font size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;br /&gt;&lt;/font&gt;
&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Now you can open your log and look for the error that is thrown. There you will find a detailed stacktrace of what's wrong.&lt;/font&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/pabothu/aggbug/149685.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PG0TbV--VMc" height="1" width="1"/&gt;</description><dc:creator>Pavan Kumar Pabothu</dc:creator><feedburner:origLink>http://geekswithblogs.net/pabothu/archive/2012/05/18/wcf-error-tracking.aspx</feedburner:origLink></item><item><title>Accessing QuickBooks with Entity Framework</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/nZZ8u3fiIwE/accessing-quickbooks-with-entity-framework.aspx</link><pubDate>Fri, 18 May 2012 13:02:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dataintegration/archive/2012/05/18/accessing-quickbooks-with-entity-framework.aspx</guid><wfw:comment>http://geekswithblogs.net/dataintegration/comments/149684.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dataintegration/comments/commentRss/149684.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dataintegration/archive/2012/05/18/accessing-quickbooks-with-entity-framework.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dataintegration/services/trackbacks/149684.aspx</trackback:ping><source url="http://geekswithblogs.net/dataintegration/rss.aspx">Accessing QuickBooks with Entity Framework</source><description>&lt;p&gt;
     Entity Framework is an object-relational mapping framework that can be used to work with data as objects. While you can run the ADO.NET Entity 
     Data Model wizard in Visual Studio to handle generating the Entity Model for yourself, this can put you at a disadvantage if there are 
     changes in your data source or if you want more control over how the entities operate. In this article we will demonstrate a Code First 
     approach to accessing your QuickBooks Data using the RSSBus ADO.NET Provider.
	&lt;/p&gt;
  
  &lt;p&gt;
    Even though this article uses the QuickBooks Data Provider, the exact same procedure outlined below can be used 
    with any &lt;a href="http://www.rssbus.com/ado/"&gt;RSSBus ADO.NET Data Providers&lt;/a&gt; to access data through Entity Framework.
	&lt;/p&gt;
	
	&lt;ul&gt;
		&lt;li&gt;&lt;b&gt;Step 1:&lt;/b&gt; Open Visual Studio and create a new Windows Form project. For the purposes of this article, we will be using a C# project.&lt;/li&gt;
		&lt;li&gt;&lt;b&gt;Step 2:&lt;/b&gt; Add to the project an app.config file. In this file, add the connection string and provider like so:&lt;/li&gt;
	&lt;/ul&gt;
	
&lt;code lang="xml"&gt;&lt;pre&gt;&amp;lt;connectionStrings&amp;gt;
	&amp;lt;add name="QuickBooksContext" connectionString="Offline=False;User=USERNAME;Password=PASSWORD;URL=http://localhost:2080;QBXML Version=6.0" providerName="System.Data.RSSBus.QuickBooks" /&amp;gt;
&amp;lt;/connectionStrings&amp;gt;&lt;/pre&gt;&lt;/code&gt;
	
	&lt;ul&gt;
        &lt;li&gt;&lt;b&gt;Step 3:&lt;/b&gt; Add a reference to System.Data.Entity and EntityFramework in your project. You may need to download the EntityFramework.dll from Microsoft. In this demo we are using Entity Framework version 4.1.&lt;/li&gt;
	&lt;/ul&gt;
		&lt;img src="http://www.rssbus.com/kb/articles/ado-codefirst-qb-1.png" /&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;b&gt;Step 4:&lt;/b&gt; Add a new .cs file to the project and add a class to it. This will be your database context, and it will extend the DbContext class. You will also need to override the OnModelCreating method and remove PluralizaingTableNameConvention and IncludeMetadataConvention from the ModelBuilder Conventions:&lt;/li&gt;
  &lt;/ul&gt;
  
 &lt;code lang="csharp"&gt;&lt;pre&gt;protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {
    // To remove the plural names
            
    modelBuilder.Conventions.Remove&amp;lt;PluralizingTableNameConvention&amp;gt;();
    // To remove calls to EdmTable a metadata table.
    // If this is not removed EF will try to describe and select from EdmTable
    modelBuilder.Conventions.Remove&amp;lt;IncludeMetadataConvention&amp;gt;();
 }&lt;/pre&gt;&lt;/code&gt;
  
  &lt;ul&gt;
		&lt;li&gt;&lt;b&gt;Step 5:&lt;/b&gt; Create another .cs file and name it after the QuickBooks entity you are retrieving. In our example, we are retrieving Accounts. In this file you will need to define both the Entity and the Entity Configuration. They will look something like this:&lt;/li&gt;
	&lt;/ul&gt;
	
&lt;code lang="csharp"&gt;&lt;pre&gt;public class Accounts {

	[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public System.String ID { get; set; }
    public System.String Name { get; set; }
    public System.String Type { get; set; } 
    public System.Double Balance { get; set; }
    public System.DateTime TimeCreated { get; set; }
}
    
public class AccountMap : EntityTypeConfiguration&amp;lt;Accounts&amp;gt; 
{
	public AccountMap() {
        this.ToTable("Accounts");
        this.HasKey(Account =&amp;gt; Account.ID);
        this.Property(Account =&amp;gt; Account.Name);
        this.Property(Account =&amp;gt; Account.Type);
        this.Property(Account =&amp;gt; Account.Balance);
        this.Property(Account =&amp;gt; Account.TimeCreated);
    }&lt;/pre&gt;&lt;/code&gt;
	
	&lt;ul&gt;
        &lt;li&gt;&lt;b&gt;Step 6:&lt;/b&gt; Now that you have created an entity, go back to your context class and add the entity to your Context like so:&lt;/li&gt;
  &lt;/ul&gt;
  
&lt;code lang="csharp"&gt;&lt;pre&gt;public DbSet&amp;lt;Accounts&amp;gt; Account { set; get; }&lt;/pre&gt;&lt;/code&gt;
  
	&lt;ul&gt;
        &lt;li&gt;&lt;b&gt;Step 7:&lt;/b&gt; With the context and entity finished, you are now read to query the data in a separate class. For example: &lt;/li&gt;
	&lt;/ul&gt;
	
&lt;code lang="csharp"&gt;&lt;pre&gt;QuickBooksContext context = new QuickBooksContext();
var query = from line in context.Account select line;&lt;/pre&gt;&lt;/code&gt;
	
	&lt;h3 class="blue"&gt;Sample Project&lt;/h3&gt;
	&lt;p&gt;
	   To help you get started using the QuickBooks Data Provider with Entity Framework code first approach, download the fully functional 
		&lt;a href="http://www.rssbus.com/kb/articles/ado-codefirst-qb.zip"&gt;sample project&lt;/a&gt;. The project includes examples of selecting, inserting, updating, and deleting data from QuickBooks.
    You will also need the QuickBooks ADO.NET Data Provider to make the connection. You can download a &lt;a href="http://www.rssbus.com/ado/quickbooks"&gt;free trial here&lt;/a&gt;.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dataintegration/aggbug/149684.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/nZZ8u3fiIwE" height="1" width="1"/&gt;</description><dc:creator>dataintegration</dc:creator><feedburner:origLink>http://geekswithblogs.net/dataintegration/archive/2012/05/18/accessing-quickbooks-with-entity-framework.aspx</feedburner:origLink></item><item><title>Finding your Office Key</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/xLOEmX66I4c/finding-your-office-key.aspx</link><pubDate>Fri, 18 May 2012 09:35:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/18/finding-your-office-key.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149683.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149683.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/18/finding-your-office-key.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149683.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Finding your Office Key</source><description>Following on from my previous post, I needed also to get my key for Microsoft Office. I found &lt;a target="_blank" href="http://www.magicaljellybean.com/keyfinder/"&gt;http://www.magicaljellybean.com/keyfinder/&lt;/a&gt;, downloaded it and run it. &lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149683.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/xLOEmX66I4c" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/18/finding-your-office-key.aspx</feedburner:origLink></item><item><title>Finding your Windows Licence Key</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/iEFU7maXYpI/finding-your-windows-licence-key.aspx</link><pubDate>Fri, 18 May 2012 09:25:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/18/finding-your-windows-licence-key.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149682.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149682.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/18/finding-your-windows-licence-key.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149682.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Finding your Windows Licence Key</source><description>One of the problems that I face is having to periodically rebuild my development PCs. When preparing for a re-build it is important to plan on having the right licence key to hand, and a complete list of programs to install. It also helps if like me you keep downloaded installs in a known place as that make re-installation very easy.&lt;br /&gt;&lt;br /&gt;So given that I have a number of licence keys for Windows 7 Ultimate, how did I find the one that was used for this PC? I located a very useful article at &lt;a target="_blank" href="http://pcsupport.about.com/od/productkeysactivation/ht/windows-7-key.htm"&gt;http://pcsupport.about.com/od/productkeysactivation/ht/windows-7-key.htm&lt;/a&gt;. This led me to Win Key Finder at &lt;a target="_blank" temp_href="http://www.winkeyfinder.com/download/func-showdown/14/ " href="http://www.winkeyfinder.com/download/func-showdown/14/%20"&gt;http://www.winkeyfinder.com/download/func-showdown/14/ &lt;br /&gt;&lt;/a&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149682.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/iEFU7maXYpI" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/18/finding-your-windows-licence-key.aspx</feedburner:origLink></item><item><title>www.utnt.tk</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/n8ehbQy2LyY/149681.aspx</link><pubDate>Fri, 18 May 2012 08:53:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Umesh/archive/2012/05/18/149681.aspx</guid><wfw:comment>http://geekswithblogs.net/Umesh/comments/149681.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Umesh/comments/commentRss/149681.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Umesh/archive/2012/05/18/149681.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Umesh/services/trackbacks/149681.aspx</trackback:ping><source url="http://geekswithblogs.net/Umesh/rss.aspx">www.utnt.tk</source><description>&lt;img style="-webkit-user-select: none; " src="http://www.dot.tk/images.v2/logo.png" width="150" height="80" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;short url for my blog address. hehe..&lt;/div&gt; &lt;img src="http://geekswithblogs.net/Umesh/aggbug/149681.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/n8ehbQy2LyY" height="1" width="1"/&gt;</description><dc:creator>Thota Umesh</dc:creator><feedburner:origLink>http://geekswithblogs.net/Umesh/archive/2012/05/18/149681.aspx</feedburner:origLink></item><item><title>Storm - A utility for testing Web Services</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/sT_GzA81sEY/storm---a-utility-for-testing-web-services.aspx</link><pubDate>Fri, 18 May 2012 07:40:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/18/storm---a-utility-for-testing-web-services.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149680.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149680.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/18/storm---a-utility-for-testing-web-services.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149680.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Storm - A utility for testing Web Services</source><description>At &lt;a target="_blank" href="http://storm.codeplex.com/"&gt;http://storm.codeplex.com/&lt;/a&gt; there is a free tool for testing Web Services and WCF services.&lt;br /&gt;&lt;br /&gt;STORM allows you to&lt;br /&gt;  1. Test web services written using any technology (.NET , Java, etc.)&lt;br /&gt;  2. Dynamically invoke web service methods even those that have input parameters of complex data types&lt;br /&gt;  3. Save development time and money.  Creating throw-away test client apps just to test the web service is just too wasteful &lt;br /&gt;  4.  Test multiple web services from within one UI.&lt;br /&gt;  5.  Edit/Manipulate the raw soap requests.&lt;br /&gt;  6  Others (Try out the tool and find out yourself!)&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149680.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/sT_GzA81sEY" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/18/storm---a-utility-for-testing-web-services.aspx</feedburner:origLink></item><item><title>Choosing the right site template - SharePoint 2010</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/_JnT5TziCBA/choosing-the-right-site-template---sharepoint-2010.aspx</link><pubDate>Fri, 18 May 2012 04:02:50 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/KunaalKapoor/archive/2012/05/17/choosing-the-right-site-template---sharepoint-2010.aspx</guid><wfw:comment>http://geekswithblogs.net/KunaalKapoor/comments/149679.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/KunaalKapoor/comments/commentRss/149679.aspx</wfw:commentRss><comments>http://geekswithblogs.net/KunaalKapoor/archive/2012/05/17/choosing-the-right-site-template---sharepoint-2010.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/KunaalKapoor/services/trackbacks/149679.aspx</trackback:ping><source url="http://geekswithblogs.net/KunaalKapoor/rss.aspx">Choosing the right site template - SharePoint 2010</source><description>&lt;p&gt;&lt;font face="Arial"&gt;&lt;a title="SharePoint 2010" href="http://sharepoint.microsoft.com/en-us/Pages/default.aspx" rel="SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt; provides a number of templates for creating new sites. Most organizations will decide for you which SharePoint templates you're going to use; it’s usually either a Team Site template or a Publishing Site template. The other templates are specialized.&lt;/font&gt;&lt;/p&gt;

&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;&lt;font face="Arial"&gt;Product&lt;/font&gt;&lt;/th&gt;
&lt;th&gt;&lt;font face="Arial"&gt;Available Site Templates&lt;/font&gt;&lt;/th&gt;
&lt;th&gt;&lt;font face="Arial"&gt;Typical Usage Scenarios&lt;/font&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Arial"&gt;SharePoint Foundation 2010&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Team Site, Meeting Workspace, Blog&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;More people contribute content than read it; also when you want
basic layouts&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Arial"&gt;SharePoint Server 2010, Standard license; and &lt;a title="SharePoint 2010" href="http://sharepoint.microsoft.com/en-us/Pages/default.aspx" rel="SharePoint 2010"&gt;SharePoint 2010&lt;/a&gt;
for Internet Sites, Standard&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Publishing Portal&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Web content management sites, such as portals&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Enterprise Wiki&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Collaborative sites with Web content management
requirements&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Document Center&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Sample template to demonstrate SharePoint’s document
management features&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Basic and Enterprise Search Centers&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Site dedicated to displaying search results&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;My Site Host&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Site dedicated to hosting My Site&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Arial"&gt;SharePoint Server 2010, Enterprise License*; and SharePoint
Server 2010 for Internet Sites, Enterprise&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Records Center&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Used for managing document lifecycles&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Performance Point Site&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Arial"&gt;Used for creating business intelligence dashboards&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;font face="Arial"&gt;*Includes additional Web Parts and services to support advanced enterprise requirements&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;There are several others which you can read more about on: http://technet.microsoft.com/en-us/library/cc262410.aspx&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;You can convert a team/blank site to a publishing too.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;Usually the best thing to do is to go with a blank site and control all features that you turn on. But the main point is that one should know which site template should be chosen to suffice all the requirements of the site. If you will not be using any of the Publishing feature set, then there is no particular reason, to use a Publishing site it should always be based on your list of goals&lt;/font&gt;&lt;span style="font-family: Arial; "&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;All of the features used by a Publishing site are availalble in a Team Site as well.  They just aren't turned on by default.  You can still use the OOB approval workflows in a team site.  However, they aren't integrated with normal web part pages so if you want to use them to control publishing of content you need to turn on the publishing features.  You can still do that even if you start with a Team site template.  They just aren't turned on by default. There is no particular reason not to use a Team site for an Internet facing site.  I frequently start with a Blank site so that I can control all the features and whether they are turned on or off.&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/KunaalKapoor/aggbug/149679.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/_JnT5TziCBA" height="1" width="1"/&gt;</description><dc:creator>KunaalKapoor</dc:creator><feedburner:origLink>http://geekswithblogs.net/KunaalKapoor/archive/2012/05/17/choosing-the-right-site-template---sharepoint-2010.aspx</feedburner:origLink></item><item><title>Deleting duplicated fields from the Form Library's content type, created due to multiple publish attempts on InfoPath 2010</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Auy1sqiwyLM/deleting-duplicated-fields-from-the-form-librarys-content-type-created.aspx</link><pubDate>Fri, 18 May 2012 03:28:59 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/KunaalKapoor/archive/2012/05/17/deleting-duplicated-fields-from-the-form-librarys-content-type-created.aspx</guid><wfw:comment>http://geekswithblogs.net/KunaalKapoor/comments/149678.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/KunaalKapoor/comments/commentRss/149678.aspx</wfw:commentRss><comments>http://geekswithblogs.net/KunaalKapoor/archive/2012/05/17/deleting-duplicated-fields-from-the-form-librarys-content-type-created.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/KunaalKapoor/services/trackbacks/149678.aspx</trackback:ping><source url="http://geekswithblogs.net/KunaalKapoor/rss.aspx">Deleting duplicated fields from the Form Library's content type, created due to multiple publish attempts on InfoPath 2010</source><description>&lt;div&gt;&lt;font face="Arial"&gt;If you did not pay attention to the last step before publishing an InfoPath 2010 &lt;/font&gt;&lt;span style="font-family: Arial; "&gt;form to a SharePoint server and you are facing a lot of problems because the publish created duplicate columns. Look no further, this post will make your life easier.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; "&gt;A lot of us use&lt;/span&gt;&lt;span style="font-family: Arial; "&gt; InfoPath and have to deal with its annoying bugs day in and day out. But we just have to be more careful and aware to avoid any situations where there's no second option.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; "&gt;Today, I was working with an InfoPath form, and was converting a regular form to an administratively approved one. I ended up publishing the form a couple of times to my production server which in turn was afflicted by the “duplicate promoted fields / properties” issue, or in easier terms 'duplicate columns' which seems to want to randomly occur when you add / modify new promoted fields. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; "&gt;Just before you publish the form, InfoPath gives you an option of only publishin&lt;/span&gt;&lt;font face="Arial"&gt;g/recreating the columns that have been modified/added. And it is very important that we update the type of operation on each column. The columns can be site columns, list columns or just stranded doing nothing but making your life miserable depending on how you publish. &lt;/font&gt;&lt;span style="font-family: Arial; "&gt;In mycase, instead of reusing the promoted properties it already created for use on the SharePoint site, InfoPath decided to create you a whole new set of Site columns to use.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;Normally this is fine, if only a little annoying – but we were using those forms in conjunction with some workflows, which were relying on those promoted fields to have a consistent name…so this now needed to be fixed. The main point of the workflow not picking up the right columns is that they are bound by column id's. So the workflow would be bound to a column which will never be updated with a value because it's source (in my case the InfoPath itself) updates another column with the same name but different GUID.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;InfoPath forms are a lot like other MS file formats and are based around a cabinet file / .cab; so the steps I took the following steps to remove the duplicate fields:&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;1) Rename my form to .cab&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;2) Extract everything, and open manifest.xsf in notepad&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;3) Find the offending duplicate columns, and remove them. You’ll find them within a block similar to &amp;lt;xsf2:listPropertiesExtension&amp;gt; (though the namespace might be different):&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;If you aren’t sure which ones to remove, you can always compare the columnName property in the &amp;lt;fieldExtension&amp;gt; with the columnName property in the &amp;lt;xsf:field/&amp;gt; near the bottom of the manifest.xsf file.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;4) Repack the cabinet – you could use IZarc you can actually open the mainfest.xsf using InfoPath designer (right click and select Design) and then “save as” .xsn, bypassing the fiddly cab creation step.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;Once you redeploy / update the form, everything should now be fixed! If you were using the form on a document library, it’s likely you won’t be able to remove the site columns – I ended up recreating the document library to refresh everything but you may not have this luxury if you’ve already got live data in there. So if you're library can't be deleted because there's data in it or it is bound to a List WorkFlow (Never use List WF's, always use reusable WF's), then there is one and only one resort! SHAREPOINT MANAGER 2010. &lt;a href="http://spm.codeplex.com/" title="Found Here" target="_blank"&gt;http://tempuri.org/tempuri.html&lt;/a&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;Install it on the SP server and delete each duplicated and any other InfoPath related column you have associated with the library. Once there are no traces of InfoPath columns, delete the content type. And republish the form to the server/library. And add the content type for the library again.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;Maybe Office 15 will fix all this, but until then make sure you keep your eyes open while working on InfoPath.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Arial"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/KunaalKapoor/aggbug/149678.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Auy1sqiwyLM" height="1" width="1"/&gt;</description><dc:creator>KunaalKapoor</dc:creator><feedburner:origLink>http://geekswithblogs.net/KunaalKapoor/archive/2012/05/17/deleting-duplicated-fields-from-the-form-librarys-content-type-created.aspx</feedburner:origLink></item><item><title>C#/.NET Little Wonders: Select() and Where() with Indexes</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/HZVrwktEfkI/c.net-little-wonders-select-and-where-with-indexes.aspx</link><pubDate>Thu, 17 May 2012 17:11:35 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BlackRabbitCoder/archive/2012/05/17/c.net-little-wonders-select-and-where-with-indexes.aspx</guid><wfw:comment>http://geekswithblogs.net/BlackRabbitCoder/comments/149677.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BlackRabbitCoder/comments/commentRss/149677.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BlackRabbitCoder/archive/2012/05/17/c.net-little-wonders-select-and-where-with-indexes.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/BlackRabbitCoder/services/trackbacks/149677.aspx</trackback:ping><source url="http://geekswithblogs.net/BlackRabbitCoder/rss.aspx">C#/.NET Little Wonders: Select() and Where() with Indexes</source><description>&lt;div style="float: right"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "ca-pub-0591047544853326";
/* Inline 2 */
google_ad_slot = "1318145269";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;/script&gt;&lt;ins style="position: relative; border-bottom-style: none; padding-bottom: 0px; margin: 0px; border-left-style: none; padding-left: 0px; width: 300px; padding-right: 0px; display: inline-table; border-top-style: none; height: 250px; visibility: visible; border-right-style: none; padding-top: 0px"&gt;&lt;ins style="position: relative; border-bottom-style: none; padding-bottom: 0px; margin: 0px; border-left-style: none; padding-left: 0px; width: 300px; padding-right: 0px; display: block; border-top-style: none; height: 250px; visibility: visible; border-right-style: none; padding-top: 0px" id="aswift_0_anchor"&gt;&lt;iframe style="position: absolute; top: 0px; left: 0px" id="aswift_0" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;amp;&amp;amp;s.handlers,h=H&amp;amp;&amp;amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;amp;&amp;amp;d&amp;amp;&amp;amp;(!d.body||!d.body.firstChild)){if(h.call){i+='.call';setTimeout(h,0)}else if(h.match){i+='.nav';w.location.replace(h)}s.log&amp;amp;&amp;amp;s.log.push(i)}" height="250" marginheight="0" frameborder="0" width="300" allowtransparency="allowtransparency" name="aswift_0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/div&gt;  &lt;p&gt;&lt;em&gt;Once again, in this series of posts I look at the parts of the .NET Framework that may seem trivial, but can help improve your code by making it easier to write and maintain. The index of all my past little wonders posts can be found &lt;a href="http://blackrabbitcoder.net/archive/2011/10/24/c.net-little-wonders-the-complete-collection-again.aspx"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;We’ve talked about the &lt;strong&gt;Select()&lt;/strong&gt; and &lt;strong&gt;Where()&lt;/strong&gt; LINQ extension methods before.  The &lt;strong&gt;Select()&lt;/strong&gt; method lets you project from the source type to a new type, and the &lt;strong&gt;Where()&lt;/strong&gt; method lets you filter the list of items to the ones you are interested in.  &lt;/p&gt;  &lt;p&gt;Most people know of these methods in their simplest form, where they simply take a projection and predicate respectively that operates on just an element.  However, there are overloads for both of these methods that take a delegate that operates on both the element and the index of the element.&lt;/p&gt;  &lt;p&gt;So let’s take a look at these and see what we can do with them.&lt;/p&gt;  &lt;h3&gt;Select() – Projects elements&lt;/h3&gt;  &lt;p&gt;The &lt;strong&gt;Select() &lt;/strong&gt;method is responsible for projecting a sequence into a new sequence which may or may not be different types and/or values.&lt;/p&gt;  &lt;p&gt;As an extension method, it’s most common form is:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Select(Func&amp;lt;T, TResult&amp;gt; projection)&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;&lt;em&gt;Projects the &lt;/em&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;em&gt; sequence into a new resulting sequence consisting of the results of each item passed through the &lt;/em&gt;&lt;strong&gt;projection&lt;/strong&gt; &lt;em&gt;delegate.&lt;/em&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As you know, this gives us a lot of power, we can use it to change values (and keep types the same):&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// an array of 1 to 10&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var numbers = Enumerable.Range(1, 10).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// converts to an array of 2, 4, 6, ..., 20&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var doubles = numbers.Select(i =&amp;gt; i*2).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;So that’s an example of a projection that changes the values, you can also project to a different type:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// the numbers from 1 to 10&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var numbers = Enumerable.Range(1, 10).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// project to list of strings "1: ", "2: ", ...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var lineNumbers = numbers.Select(i =&amp;gt; i.ToString() + &lt;span style="color: #006080"&gt;": "&lt;/span&gt;).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now that we’ve reviewed the basic form, let’s look at a lesser-used overload of &lt;strong&gt;Select():&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Select(Func&amp;lt;T, int, TResult&amp;gt; projection)&lt;/strong&gt; 

    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;Projects the &lt;/em&gt;&lt;strong&gt;source &lt;/strong&gt;&lt;em&gt;sequence into a new resulting sequence consisting of the results of each item&lt;/em&gt; &lt;strong&gt;and its index in source&lt;/strong&gt;&lt;em&gt; passed through the&lt;/em&gt; &lt;strong&gt;projection&lt;/strong&gt;&lt;em&gt; delegate.&lt;/em&gt; &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note the difference here: in this overload the delegate takes not just an element, but an element and the &lt;em&gt;index&lt;/em&gt; of that element in the source sequence this method is invoked upon.&lt;/p&gt;

&lt;p&gt;Thus, if you had a list of items and wanted to take advantage of the item’s index as well in the projection, you can:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// say that racers consists of the names of racers in the order of finish:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; IEnumerable&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; racers = ...;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// get a projection of new objects consisting of placing and name&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var finishers = racers.Select((r, index) =&amp;gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; { Place = index, Name = r }).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The code snippet above will take a sequence of &lt;strong&gt;string&lt;/strong&gt; and convert it into a list of anonymous objects representing the racer’s name and their place.  So given this form of the &lt;strong&gt;Select()&lt;/strong&gt;, you can use the index as part of the projection and either store it, or use it to build a new value.&lt;/p&gt;

&lt;p&gt;One very important note, the &lt;em&gt;index &lt;/em&gt;provided to the projection is the index from the sequence the &lt;strong&gt;Select()&lt;/strong&gt; was immediately called from.  This is an important distinction because you can chain together multiple operations which may alter the number of items in the sequence (or their order) before the &lt;strong&gt;Select()&lt;/strong&gt; is invoked.  This is very similar to the way that &lt;a href="http://blackrabbitcoder.net/archive/2012/03/29/c.net-little-wonders-skip-and-take.aspx"&gt;Skip() and Take() (click here for a discussion of these two methods)&lt;/a&gt; work with their index overloads.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// fibs under 100&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var numbers = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt;[] { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// even fibs and their indexes?&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var evenFibs = numbers&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     .Where(f =&amp;gt; (f % 2) == 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     .Select((f, index) =&amp;gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; { Number = f, Index = index })&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     .ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;So looking at this code, you might think you’d get a list that contains Number = 2 at Index = 2, Number = 8 at Index 5, and Number = 34 at Index 8.  But instead you’ll get Number = 2 at Index = 0, Number = 8 at Index = 1, and Number = 34 at Index = 2.&lt;/p&gt;

&lt;p&gt;Why?  Because remember that the &lt;strong&gt;Where()&lt;/strong&gt; filters the sequence from (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89) down to just a sequence of the evens (2, 8, 34) and &lt;em&gt;that&lt;/em&gt; is the sequence the &lt;strong&gt;Select()&lt;/strong&gt; is operating on, thus that sequence is the one who’s indexes are used.  Make sense?  The &lt;strong&gt;Where() &lt;/strong&gt;returns a new, shorter sequence, and that is the sequence that &lt;strong&gt;Select()&lt;/strong&gt; uses for its elements and what it bases the indexes from.&lt;/p&gt;

&lt;p&gt;So, how would you get the results with the original indexes?  Well, one way would be to perform the &lt;strong&gt;Select()&lt;/strong&gt; first, and then filter the results with the &lt;strong&gt;Where()&lt;/strong&gt; second:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// fibs under 100&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var numbers = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt;[] { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// yes, this works...&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var evenFibs = numbers&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     .Select((f, index) =&amp;gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; { Number = f, Index = index })&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     .Where(r =&amp;gt; (r.Number % 2) == 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     .ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;So this one first projects the sequence into a sequence of an anonymous type holding both the number and the index, and then it filters down to only the those that have an even number.&lt;/p&gt;

&lt;h3&gt;Where() – filters elements&lt;/h3&gt;

&lt;p&gt;As you know, &lt;strong&gt;Where()&lt;/strong&gt; filters based on a predicate.  It’s basic form is:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Where(Func&amp;lt;T, bool&amp;gt; predicate)&lt;/strong&gt; 

    &lt;ul&gt;
      &lt;li&gt;&lt;em&gt;Filters the &lt;/em&gt;&lt;strong&gt;source &lt;/strong&gt;&lt;em&gt;sequence to a new sequence that contains only elements that return &lt;/em&gt;&lt;strong&gt;true &lt;/strong&gt;&lt;em&gt;from the &lt;/em&gt;&lt;strong&gt;predicate&lt;/strong&gt;&lt;em&gt;&lt;strong&gt; &lt;/strong&gt;applied to each element.&lt;/em&gt; &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, of course, as you’ve seen in the examples above, we can use &lt;strong&gt;Where()&lt;/strong&gt; to filter a sequence of numbers to just the evens:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// 1 through 10&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var numbers = Enumerable.Range(1, 10);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// 2, 4, 6, 8, 10&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var evens = numbers.Where(n =&amp;gt; (n % 2) == 0).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Just like &lt;strong&gt;Select(), &lt;/strong&gt;the &lt;strong&gt;Where()&lt;/strong&gt; extension method also has an overload that takes passes an index to the predicate:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Where(Func&amp;lt;T, int, bool&amp;gt; predicate)&lt;/strong&gt; &lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Filters the &lt;/em&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;em&gt; sequence to a new sequence that contains only elements that return &lt;/em&gt;&lt;strong&gt;true&lt;/strong&gt;&lt;em&gt; from the &lt;/em&gt;&lt;strong&gt;predicate &lt;/strong&gt;&lt;em&gt;applied to each element &lt;/em&gt;&lt;strong&gt;and its index in source.&lt;/strong&gt; F&lt;/li&gt;
  &lt;/ul&gt;
&lt;/ul&gt;

&lt;p&gt;For example, let’s say you wanted to pull every other item in a sequence, you could do this with the overload:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// fibs under 100&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var numbers = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt;[] { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #008000"&gt;// get every other fib number &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; var everyOtherFib = numbers.Where((n, index) =&amp;gt; (index % 2) == 0).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The resulting sequence from the above will yield (1, 2, 5, 13, 34, 89).  These may seem like trivial uses, but you could also use them to coordinate across sequences.  For example, let’s say you kick off multiple service requests in various threads, and have an array of &lt;strong&gt;bool&lt;/strong&gt; representing whether the results came back successfully, we could filter the requests to get the list of failed requests:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;[] wasSuccessful = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ...;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #008000"&gt;// get the list of requests that had bad return codes:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; var failedRequests = requests.Where((r, index) =&amp;gt; !wasSuccessful[index]).ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;So the code above goes through the requests, takes the index of each request, and checks to see if &lt;strong&gt;wasSuccessful&lt;/strong&gt; at that same index is &lt;strong&gt;false.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, once again it is important to note that the index passed to the &lt;strong&gt;Where()&lt;/strong&gt; clause is the index of the item in the sequence &lt;strong&gt;Where()&lt;/strong&gt; is immediately called upon.  So, once again, if you need the index of the item in the original sequence, make sure that none of the clauses before your indexed &lt;strong&gt;Select(), Where(), Skip(), &lt;/strong&gt;or &lt;strong&gt;Take()&lt;/strong&gt; alter the sequence by re-ordering, adding, or removing items.&lt;/p&gt;

&lt;h3&gt;Sidebar: Naming style for index?&lt;/h3&gt;

&lt;p&gt;When you use the form of &lt;strong&gt;Select(), Where(), Skip(), &lt;/strong&gt;or &lt;strong&gt;Take()&lt;/strong&gt; where you provide a lambda expression that takes an index, it is often useful to name the lambda variables such that it’s clear which item is the index.  &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// Ummm, is j the number and k the index?  or vice-versa...?&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var evenFibs = numbers&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     .Where((j, k) =&amp;gt; (k % 2) == 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     .ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In the code above, because &lt;strong&gt;j&lt;/strong&gt; and &lt;strong&gt;k&lt;/strong&gt; don’t really have any derivable meaning from the context, we have to know from experience (or Intellisense) that &lt;strong&gt;k&lt;/strong&gt; is the index.  However, many folks reading this code may not know that.&lt;/p&gt;

&lt;p&gt;This is why typically, and this is just my personal style, I like to name the index variable explicitly &lt;strong&gt;index, &lt;/strong&gt;or at least &lt;strong&gt;x&lt;/strong&gt; so it’s fairly clear that we’re talking about an index and not the value:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// Ah... it was the index!&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var evenFibs = numbers&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     .Where((j, index) =&amp;gt; (index % 2) == 0)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     .ToList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;Select()&lt;/strong&gt; and &lt;strong&gt;Where()&lt;/strong&gt; LINQ extension methods provide powerful ways to manipulate lists.  The &lt;strong&gt;Select()&lt;/strong&gt; clause is great for projecting from one sequence to another sequence containing different types/values, and the &lt;strong&gt;Where()&lt;/strong&gt; clause is useful for filtering a sequence down to only those that match a given predicate.  Both of these extension methods allow you to not only project and filter based on each element in the sequence, but also based on the element’s index in the sequence.  Care should be taken to realize that the index of the item may be altered by chained expressions.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8acfbf44-1921-4711-9044-104b014bd887" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CSharp" rel="tag"&gt;CSharp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Little+Wonders" rel="tag"&gt;Little Wonders&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LINQ" rel="tag"&gt;LINQ&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Where" rel="tag"&gt;Where&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Select" rel="tag"&gt;Select&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/BlackRabbitCoder/aggbug/149677.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/HZVrwktEfkI" height="1" width="1"/&gt;</description><dc:creator>James Michael Hare</dc:creator><feedburner:origLink>http://geekswithblogs.net/BlackRabbitCoder/archive/2012/05/17/c.net-little-wonders-select-and-where-with-indexes.aspx</feedburner:origLink></item><item><title>Pinning any folder location to the task bar Explorer jump list</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/1NqlYddoUag/pinning-any-folder-location-to-the-task-bar-explorer-jump-list.aspx</link><pubDate>Thu, 17 May 2012 20:33:12 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jeremyj/archive/2012/05/17/pinning-any-folder-location-to-the-task-bar-explorer-jump-list.aspx</guid><wfw:comment>http://geekswithblogs.net/jeremyj/comments/149676.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jeremyj/comments/commentRss/149676.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jeremyj/archive/2012/05/17/pinning-any-folder-location-to-the-task-bar-explorer-jump-list.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jeremyj/services/trackbacks/149676.aspx</trackback:ping><source url="http://geekswithblogs.net/jeremyj/rss.aspx">Pinning any folder location to the task bar Explorer jump list</source><description>This might not be news to you but for me this was a discovery i made only this week, yes how did i not know this before! &lt;br /&gt;&lt;br /&gt;So I discovered how to pin any folder to the Windows Explorer jump list on the Windows 7 task bar. Any entries in the 'Frequent' menu can be pinned using its context menu, but a folder that does not appear in the 'Frequent' menu can still be pinned just by dragging its path from the address bar in the Explorer window onto the task bar icon. The pinned folders can then be accessed by using the context menu of the task bar button.&lt;br /&gt;&lt;br /&gt;Actually for a few years now i've been in the habit of pinning frequently accessed folder locations into the Favorites list in the navigation pane, when using XP and also Windows 7. Perhaps my habits formed with Windows XP using folders pinned to the 
Favorites list in the navigation pane combined with task bar Toolbar 
folders is the reason why so much time spent using Windows 7 has gone by
 without without me using this handy feature, but now instead of adding a Toolbar folder i can just pin my RDP folder (and other folders like the SysinternalsSuite) to the Explorer jump list instead.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;img src="http://geekswithblogs.net/jeremyj/aggbug/149676.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/1NqlYddoUag" height="1" width="1"/&gt;</description><dc:creator>jeremyj</dc:creator><feedburner:origLink>http://geekswithblogs.net/jeremyj/archive/2012/05/17/pinning-any-folder-location-to-the-task-bar-explorer-jump-list.aspx</feedburner:origLink></item><item><title>Enum helper for values specified in attributes</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/4jTQy4hqjrw/149675.aspx</link><pubDate>Thu, 17 May 2012 14:06:43 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/wojan/archive/2012/05/17/149675.aspx</guid><wfw:comment>http://geekswithblogs.net/wojan/comments/149675.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/149675.aspx</wfw:commentRss><comments>http://geekswithblogs.net/wojan/archive/2012/05/17/149675.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/149675.aspx</trackback:ping><source url="http://geekswithblogs.net/wojan/rss.aspx">Enum helper for values specified in attributes</source><description>&lt;p&gt;I've used this enum helper from time to time to get an enum value from attributes such as Description and XmlEnumAttribute.  Maybe you can find it useful? &lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;EnumEx&lt;/span&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; T
GetXmlEnumValue&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt; name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; type = CheckEnum&amp;lt;T&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; val = (&lt;span style="color: blue;"&gt;from&lt;/span&gt; f &lt;span style="color: blue;"&gt;in&lt;/span&gt; type.GetFields()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;         &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;              &lt;/span&gt;&lt;span style="color: blue;"&gt;let&lt;/span&gt;
attribute = f.GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(System.Xml.Serialization.&lt;span style="color: rgb(43, 145, 175);"&gt;XmlEnumAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;true&lt;/span&gt;).FirstOrDefault()
&lt;span style="color: blue;"&gt;as&lt;/span&gt; System.Xml.Serialization.&lt;span style="color: rgb(43, 145, 175);"&gt;XmlEnumAttribute&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                       &lt;/span&gt;&lt;span style="color: blue;"&gt;where&lt;/span&gt;
attribute != &lt;span style="color: blue;"&gt;null&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                          &lt;/span&gt;&amp;amp;&amp;amp; attribute.Name
== name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                       &lt;/span&gt;&lt;span style="color: blue;"&gt;select&lt;/span&gt;
(T)f.GetValue(&lt;span style="color: blue;"&gt;null&lt;/span&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (val.Count() == 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;               
&lt;/span&gt;&lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt;
&lt;span style="color: rgb(43, 145, 175);"&gt;ArgumentException&lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"&lt;/span&gt;&lt;span style="color: mediumseagreen;"&gt;{0}&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt; is not a valid XmlEnumAttribute for &lt;/span&gt;&lt;span style="color: mediumseagreen;"&gt;{1}&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;"&lt;/span&gt;,
name, &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T).FullName), &lt;span style="color: rgb(163, 21, 21);"&gt;"name"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; val.First();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; T
GetValueFromDescription&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;
description)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; type = CheckEnum&amp;lt;T&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; val = (&lt;span style="color: blue;"&gt;from&lt;/span&gt; f &lt;span style="color: blue;"&gt;in&lt;/span&gt; type.GetFields()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                       &lt;/span&gt;&lt;span style="color: blue;"&gt;let&lt;/span&gt;
attribute = f.GetCustomAttributes(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(System.ComponentModel.&lt;span style="color: rgb(43, 145, 175);"&gt;DescriptionAttribute&lt;/span&gt;), &lt;span style="color: blue;"&gt;true&lt;/span&gt;).FirstOrDefault()
&lt;span style="color: blue;"&gt;as&lt;/span&gt; System.ComponentModel.&lt;span style="color: rgb(43, 145, 175);"&gt;DescriptionAttribute&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                       &lt;/span&gt;where attribute != &lt;span style="color: blue;"&gt;null&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                          &lt;/span&gt;&amp;amp;&amp;amp;
attribute.Description == description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;                       &lt;/span&gt;select (T)f.GetValue(&lt;span style="color: blue;"&gt;null&lt;/span&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (val.Count() == 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;               
&lt;/span&gt;&lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt;
&lt;span style="color: rgb(43, 145, 175);"&gt;ArgumentException&lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"&lt;/span&gt;&lt;span style="color: mediumseagreen;"&gt;{0}&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt; is not a valid description for &lt;/span&gt;&lt;span style="color: mediumseagreen;"&gt;{1}&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;"&lt;/span&gt;,
description, &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T).FullName), &lt;span style="color: rgb(163, 21, 21);"&gt;"description"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; val.First();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Type&lt;/span&gt; CheckEnum&amp;lt;T&amp;gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt; type = &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (type.IsEnum == &lt;span style="color: blue;"&gt;false&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;               
&lt;/span&gt;&lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt;
&lt;span style="color: rgb(43, 145, 175);"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"&lt;/span&gt;&lt;span style="color: mediumseagreen;"&gt;{0}&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt; is not an
enum"&lt;/span&gt;, &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T)));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; type;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin: 0in 0in 0pt; line-height: normal;" class="MsoNormal"&gt;&lt;o:p&gt;&lt;font face="Calibri"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;

 &lt;img src="http://geekswithblogs.net/wojan/aggbug/149675.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/4jTQy4hqjrw" height="1" width="1"/&gt;</description><dc:creator>Scott Wojan</dc:creator><feedburner:origLink>http://geekswithblogs.net/wojan/archive/2012/05/17/149675.aspx</feedburner:origLink></item><item><title>Social Meet up on Twitter for Meet Windows Azure on June 7th</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/TWjtHh03Eyc/social-meet-up-on-twitter-for-meet-windows-azure-on.aspx</link><pubDate>Thu, 17 May 2012 17:31:10 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/hroggero/archive/2012/05/17/social-meet-up-on-twitter-for-meet-windows-azure-on.aspx</guid><wfw:comment>http://geekswithblogs.net/hroggero/comments/149674.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/hroggero/comments/commentRss/149674.aspx</wfw:commentRss><comments>http://geekswithblogs.net/hroggero/archive/2012/05/17/social-meet-up-on-twitter-for-meet-windows-azure-on.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/hroggero/services/trackbacks/149674.aspx</trackback:ping><source url="http://geekswithblogs.net/hroggero/rss.aspx">Social Meet up on Twitter for Meet Windows Azure on June 7th</source><description>&lt;p&gt;Get ready for a cool event on June 7th. Register to watch live (starting at 1PM PDT): &lt;a title="here" href="http://register.meetwindowsazure.com/"&gt;here&lt;/a&gt; – The event will be presented by &lt;a href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/a&gt;. To keep updated on this event follow the twitter conversations @WindowsAzure, #MEETAzure, #WindowsAzure.&lt;/p&gt;  &lt;p&gt;You can also register for the &lt;a href="http://lanyrd.com/2012/meetazure/"&gt;social meetup on Twitter&lt;/a&gt; event, organized by &lt;a href="http://www.magnusmartensson.com/post/2012/05/16/Social-meet-up-on-Twitter-for-MEET-Windows-Azure-on-June-7th.aspx"&gt;MVP Magnus Martensson&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I assure you; you don’t want to miss this event…&lt;/p&gt;  &lt;p&gt;MEET Windows Azure Blog Relay:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Roger Jennings (&lt;a href="https://twitter.com/#!/rogerjenn"&gt;@rogerjenn&lt;/a&gt;): &lt;a href="http://oakleafblog.blogspot.se/2012/05/social-meet-up-on-twitter-for-meet.html"&gt;Social meet up on Twitter for Meet Windows Azure on June 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Anton Staykov (&lt;a href="https://twitter.com/#!/astaykov"&gt;@astaykov&lt;/a&gt;): &lt;a href="http://blogs.staykov.net/2012/05/meet-windows-azure-on-june-7th.html"&gt;MEET Windows Azure on June the 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Patriek van Dorp (&lt;a href="https://twitter.com/#!/pvandorp"&gt;@pvandorp&lt;/a&gt;): &lt;a href="http://cloudythoughts.siadis.com/windows-azure/social-meet-up-for-meet-windows-azure-on-june-7th"&gt;Social Meet Up for ‘MEET Windows Azure’ on June 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Marcel Meijer (&lt;a href="https://twitter.com/#!/MarcelMeijer"&gt;@MarcelMeijer&lt;/a&gt;): &lt;a href="http://blogs.msmvps.com/marcelmeijer/blog/2012/05/16/meet-windows-azure-on-june-the-7th/"&gt;MEET Windows Azure on June the 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Nuno (&lt;a href="https://twitter.com/#!/NunoGodinho"&gt;@NunoGodinho&lt;/a&gt;): &lt;a href="http://msmvps.com/blogs/nunogodinho/archive/2012/05/16/social-meet-up-for-meet-windows-azure-on-june-7th.aspx"&gt;Social Meet Up for ‘MEET Windows Azure’ on June 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Shaun Xu (&lt;a href="https://twitter.com/#%21/shaunxu"&gt;@shaunxu&lt;/a&gt;) &lt;a href="http://blogs.shaunxu.me/archive/2012/05/16/letrsquos-meet-windows-azure.aspx"&gt;Let's MEET Windows Azure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Maarten Balliauw (&lt;a href="http://twitter.com/maartenballiauw"&gt;@maartenballiauw&lt;/a&gt;): &lt;a href="http://blog.maartenballiauw.be/post/2012/05/17/Social-meet-up-on-Twitter-for-MEET-Windows-Azure-on-June-7th.aspx"&gt;Social meet up on Twitter for MEET Windows Azure on June 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Magnus Mårtensson (&lt;a href="http://twitter.com/noopman"&gt;@noopman&lt;/a&gt;): &lt;a href="http://www.magnusmartensson.com/post/2012/05/16/Social-meet-up-on-Twitter-for-MEET-Windows-Azure-on-June-7th.aspx"&gt;Social meet up on Twitter for MEET Windows Azure on June 7th&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Herve Roggero (&lt;a href="http://twitter.com/hroggero"&gt;@hroggero&lt;/a&gt;): &lt;a href="http://geekswithblogs.net/hroggero/archive/2012/05/17/social-meet-up-on-twitter-for-meet-windows-azure-on.aspx"&gt;Social Meet up on Twitter for Meet Windows Azure on June 7th&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;img src="http://geekswithblogs.net/hroggero/aggbug/149674.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/TWjtHh03Eyc" height="1" width="1"/&gt;</description><dc:creator>Herve Roggero</dc:creator><feedburner:origLink>http://geekswithblogs.net/hroggero/archive/2012/05/17/social-meet-up-on-twitter-for-meet-windows-azure-on.aspx</feedburner:origLink></item><item><title>What Makes Online Business Systems a Best Workplace in Canada</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/YQqflhmu-XY/149673.aspx</link><pubDate>Thu, 17 May 2012 18:35:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dlussier/archive/2012/05/17/149673.aspx</guid><wfw:comment>http://geekswithblogs.net/dlussier/comments/149673.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dlussier/comments/commentRss/149673.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dlussier/archive/2012/05/17/149673.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dlussier/services/trackbacks/149673.aspx</trackback:ping><source url="http://geekswithblogs.net/dlussier/rss.aspx">What Makes Online Business Systems a Best Workplace in Canada</source><description>&lt;p&gt;We’re having a shindig at my work today, &lt;a href="http://www.obsglobal.com" target="_blank"&gt;Online Business Systems&lt;/a&gt;, to celebrate &lt;a href="http://greatplacetowork.ca/best-workplaces/best-workplaces-in-canada/606-2012" target="_blank"&gt;making the “Best Workplaces in Canada” list&lt;/a&gt; for the 6th consecutive year. This is a big deal for us, as we put a lot of work and effort into ensuring that our workplace is attractive to top talent, offers fantastic professional development opportunities, and provides challenging &amp;amp; meaningful work.&lt;/p&gt;  &lt;p&gt;I’ve worked at a lot of technology consulting companies in Winnipeg, and I can honestly say that Online is hands down the best employer I’ve had the privilege of working for. Here are some things we do that make us one of the best workplaces in Canada:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Professional Development for Every Employee&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For a company to grow, it’s employees need to grow. While many companies provide occasional professional development and often require employees to take vacation time, Online takes a different view.&lt;/p&gt;  &lt;p&gt;Every employee gets a PD budget – approx $3,500 – to spend on courses, conferences, training, etc. This budget gets renewed &lt;em&gt;every year&lt;/em&gt;, and while we do have an approval process in place its more to ensure nobody is taking training that is really off base. Also Online provides 5 days of PD time every year. That’s 5 paid days that can be used towards professional development: attending conferences, attending training, taking time off to study for exams, etc.&lt;/p&gt;  &lt;p&gt;And I do mean &lt;em&gt;&lt;u&gt;every&lt;/u&gt;&lt;/em&gt; employee. Whether you’re a billable consultant, a sales professional, or part of the internal administration team, everyone in the company is given the opportunity to further their skills.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Career Mentor Program and Review Process&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We believe that developing someone’s career at Online doesn’t just happen at review time but it should be ongoing throughout the year. We have Career Mentors throughout the company who keep in contact with Onliners in their care to ensure they’re engaged, growing, and happy with their employment at Online. Career Mentors are responsible for reviewing feedback for members of their group and perform annual reviews. &lt;/p&gt;  &lt;p&gt;The benefit of this – instead of one or two people in HR responsible for everyone we take a “it takes a village” approach, which creates stronger personal/professional relationships and helps us identify/deal with any issues or concerns employees have sooner.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;We Foster a Culture of Innovation&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;At Online we hire great people and give them the freedom to make positive impacts within the company. Ideas can come from anywhere in the company, and are actually encouraged. We’ve set up a program called “Innovation Den”, where Onliners can pitch their idea to our regional management. Ideas that are accepted are given time, budget, resources – whatever was being asked for – to see it come to fruition.&lt;/p&gt;  &lt;p&gt;Innovation doesn’t just happen there though, it can happen anywhere and anytime. I noticed we were going to pay for presentation training which I could easily deliver and for a much lower price. I pitched the idea to management and they loved it. An Onliner wanted to put on a Code Retreat, and Online supported it through money for food and prizes.&lt;/p&gt;  &lt;p&gt;We want people to be &lt;em&gt;intrepreuners&lt;/em&gt; – working within a company but knowing they have the freedom to fully utilize their interests and talents.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;We Have Fun&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Every company mentions this, and while I won’t suggest we’re an amazing workplace just because we have BBQs, we do have BBQs – and social events, and team recognition parties for hard work, and celebrations for project success, and…you get the idea.&lt;/p&gt;  &lt;p&gt;We work hard, we play hard, and we celebrate our accomplishments and success.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;We’re Established and Mature&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Online has been around for 26 years and employs approximately 260 people across our offices in Portland, Calgary, Edmonton, Winnipeg, Minneapolis, and Toronto. Our clients include major corporations in the telecommunications, oil/energy, health, finance, and agribusiness sectors.&lt;/p&gt;  &lt;p&gt;26 years of business brings a very important trait: maturity. As I mentioned, I’ve worked at many different companies and out of those they top out at about 10 years of age. There is a difference between a company 10 years old and 26 years old – maturity of processes, stronger self identity and culture, and greater capabilities in offerings and skills.&lt;/p&gt;  &lt;p&gt;We’re continually striving to be better though, and having fantastic people is the key factor in Online’s evolution over the next 26 years.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Interested?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We’re always looking for great people to join our team. While technology is a huge part of our offerings (Microsoft, Java, Oracle, Power Builder, etc.), we’re equally as deep in business management services: project management, business analysis, change management, quality assurance and testing, etc.&lt;/p&gt;  &lt;p&gt;We’re actively looking for .NET and Java developers currently, but we’re always interested in talking to great talent no matter what the discipline.&lt;/p&gt;  &lt;p&gt;So how do we match up against your current employer? Do we sound like the type of organization you’d like to work at? If you’re interested in learning more about Online, what its like working there, and current opportunities, please get in touch with me:&lt;/p&gt;  &lt;p&gt;Email: dlussier at obsglobal.com   &lt;br /&gt;Twitter: darcy_lussier    &lt;br /&gt;Or contact me through my blog (click the “Contact” link in the menu)&lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3d18f1ce-1f62-4503-a8aa-9e2d8cc48a08" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Online+Business+Systems" rel="tag"&gt;Online Business Systems&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Winnipeg" rel="tag"&gt;Winnipeg&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Technology" rel="tag"&gt;Technology&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Best+Workplaces+in+Canada" rel="tag"&gt;Best Workplaces in Canada&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dlussier/aggbug/149673.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/YQqflhmu-XY" height="1" width="1"/&gt;</description><dc:creator>D'Arcy Lussier</dc:creator><feedburner:origLink>http://geekswithblogs.net/dlussier/archive/2012/05/17/149673.aspx</feedburner:origLink></item><item><title>There are no addresses available for this application - Web Analytics Sharepoint</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/7yYJrKULvPU/149672.aspx</link><pubDate>Thu, 17 May 2012 06:41:20 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/naijacoder/archive/2012/05/16/149672.aspx</guid><wfw:comment>http://geekswithblogs.net/naijacoder/comments/149672.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/naijacoder/comments/commentRss/149672.aspx</wfw:commentRss><comments>http://geekswithblogs.net/naijacoder/archive/2012/05/16/149672.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/naijacoder/services/trackbacks/149672.aspx</trackback:ping><source url="http://geekswithblogs.net/naijacoder/rss.aspx">There are no addresses available for this application - Web Analytics Sharepoint</source><description>&lt;p&gt;I was setting up a search service application today and enabling search and crawling content sources.But i decided to test the "Web Analytics Web Part".&lt;br /&gt;But when i added it i got the error: &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;There are no addresses available for this application&lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Check that you started the “Managed Metadata Web Service”. This can be found here:  Central Admin &amp;gt; System Settings &amp;gt; Manage Services On ServerCheck that you started the “Managed Metadata Web Service”. &lt;/p&gt;&lt;p&gt;Hope that helps&lt;/p&gt; &lt;img src="http://geekswithblogs.net/naijacoder/aggbug/149672.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/7yYJrKULvPU" height="1" width="1"/&gt;</description><dc:creator>Patrick Olurotimi Ige</dc:creator><feedburner:origLink>http://geekswithblogs.net/naijacoder/archive/2012/05/16/149672.aspx</feedburner:origLink></item><item><title>Extending applications to HTML5 &amp; Mobile - recorded webinar</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/WVnOiveWnsQ/extending-applications-to-html5--mobile---recorded-webinar.aspx</link><pubDate>Thu, 17 May 2012 06:35:20 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Webgui/archive/2012/05/16/extending-applications-to-html5--mobile---recorded-webinar.aspx</guid><wfw:comment>http://geekswithblogs.net/Webgui/comments/149671.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Webgui/comments/commentRss/149671.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Webgui/archive/2012/05/16/extending-applications-to-html5--mobile---recorded-webinar.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Webgui/services/trackbacks/149671.aspx</trackback:ping><source url="http://geekswithblogs.net/Webgui/rss.aspx">Extending applications to HTML5 &amp; Mobile - recorded webinar</source><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;The recording of the webinar we did with Forrester Research recently is now available. At this opportunity I would like to thank Jefferey Hammond of Forrester who did a great job in discussing the Open Web, Cloud computing and Mobility trends and presenting the new development challenges they bring and why organizations need to rethink their application development strategies. &lt;/p&gt;&lt;p&gt;The 2nd part of the webinar is a presentation from Gizmox, discussing the Instant CloudMove assessment and transposition tools, which support those trends Jefferey Hammod talked about and help companies extend Windows apps to HTML5 and mobile platforms.&lt;/p&gt;&lt;p&gt;The video is available through the visualwebgui website and it is free of course:&lt;br /&gt;&lt;a href="http://www.visualwebgui.com/tabid/738/Default.aspx"&gt;http://www.visualwebgui.com/tabid/738/Default.aspx&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Webgui/aggbug/149671.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/WVnOiveWnsQ" height="1" width="1"/&gt;</description><dc:creator>Webgui</dc:creator><feedburner:origLink>http://geekswithblogs.net/Webgui/archive/2012/05/16/extending-applications-to-html5--mobile---recorded-webinar.aspx</feedburner:origLink></item><item><title>Stylecop 4.7.19.22 has been released</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/sGmAJLTZNoo/stylecop-4.7.19.22-has-been-released.aspx</link><pubDate>Thu, 17 May 2012 05:50:57 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/05/17/stylecop-4.7.19.22-has-been-released.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/149670.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/149670.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/05/17/stylecop-4.7.19.22-has-been-released.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/149670.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Stylecop 4.7.19.22 has been released</source><description>Stylecop 4.7.22.0 has been released at &lt;a target="_blank" href="http://stylecop.codeplex.com/releases/view/79972"&gt;http://stylecop.codeplex.com/releases/view/79972&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This included a fix to a problem I reported at &lt;a target="_blank" href="http://stylecop.codeplex.com/discussions/355656"&gt;http://stylecop.codeplex.com/discussions/355656&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Again well done Andrew and team!&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/149670.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/sGmAJLTZNoo" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/05/17/stylecop-4.7.19.22-has-been-released.aspx</feedburner:origLink></item><item><title>Get Detailed Build Test Results using the TFS API</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/_CrL_WrNr38/get-detailed-build-test-results-using-the-tfs-api.aspx</link><pubDate>Wed, 16 May 2012 21:37:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TarunArora/archive/2012/05/16/get-detailed-build-test-results-using-the-tfs-api.aspx</guid><wfw:comment>http://geekswithblogs.net/TarunArora/comments/149669.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TarunArora/comments/commentRss/149669.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TarunArora/archive/2012/05/16/get-detailed-build-test-results-using-the-tfs-api.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TarunArora/services/trackbacks/149669.aspx</trackback:ping><source url="http://geekswithblogs.net/TarunArora/rss.aspx">Get Detailed Build Test Results using the TFS API</source><description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;It’s a Friday evening and you have just checked in that last bit of code, you are waiting for the build to go all green so that you could call it a day. Just then the build summary page comes back red on the test results section. The build summary page tells you that 1 of the test namely &lt;em&gt;HelloWorld.Tests.UnitTest1.Sum_TwoIntNumbers_IncorrectResult_TestMethod&lt;/em&gt; has failed… &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/GetDetailedBuildTestResultsusingtheTFSAP_6C6/image_6.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/GetDetailedBuildTestResultsusingtheTFSAP_6C6/image_thumb_2.png" width="477" height="390" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To know why the test has failed, you have no option but to click on &lt;em&gt;&lt;font color="#0000ff"&gt;View Test Results&lt;/font&gt;&lt;/em&gt; link which in turn downloads the trx file from the server so that you can see the error message and possibly identify the root cause of failure from the description error message. If the test list contains more than a 1000 tests you will notice that it takes a lot of time in downloading the test results locally. That’s probably not what you would want to do on a Friday evening… &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/GetDetailedBuildTestResultsusingtheTFSAP_6C6/image_10.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/GetDetailedBuildTestResultsusingtheTFSAP_6C6/image_thumb_4.png" width="482" height="251" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this blog post I’ll show you how to use the TFS API to write a simple utility to pull down the test result details programmatically and a bonus power tool for those who read the complete post, let’s get started… &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A peek at what we will get to…&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/GetDetailedBuildTestResultsusingtheTFSAP_6C6/image_12.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/GetDetailedBuildTestResultsusingtheTFSAP_6C6/image_thumb_5.png" width="692" height="308" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;1. Connecting to TFS using the API &lt;/h3&gt;  &lt;p&gt;If you are new to the TFS API, refer to this blog post on &lt;a href="http://geekswithblogs.net/TarunArora/archive/2011/06/18/tfs-2010-sdk-connecting-to-tfs-2010-programmaticallyndashpart-1.aspx"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;getting started with the Visual Studio SDK&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The below snippet will help present a connect to tfs pop up to the user&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; TfsTeamProjectCollection _tfs;
&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _selectedTeamProject;

&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ConnectToTfs()
{
       TeamProjectPicker tfsPP = &lt;span class="kwrd"&gt;new&lt;/span&gt; TeamProjectPicker(TeamProjectPickerMode.SingleProject, &lt;span class="kwrd"&gt;false&lt;/span&gt;);
       tfsPP.ShowDialog();
       &lt;span class="kwrd"&gt;this&lt;/span&gt;._tfs = tfsPP.SelectedTeamProjectCollection;
       &lt;span class="kwrd"&gt;this&lt;/span&gt;._selectedTeamProject = tfsPP.SelectedProjects[0].Name;
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.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; }]]&gt;&lt;/style&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;2. Get All Build Definitions for the selected Team Project&lt;/h3&gt;

&lt;p&gt;By using the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuildserver.aspx"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;IBuildService&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; you can get access to the QueryBuildDefinition method which takes team project and returns the build definitions associated to the team project.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; IBuildDefinition[] GetAllBuildDefinitionsFromTheTeamProject(_selectTeamProject)
{
      _bs = _tfs.GetService&amp;lt;IBuildServer&amp;gt;();
      &lt;span class="kwrd"&gt;return&lt;/span&gt; _bs.QueryBuildDefinitions(_selectedTeamProject);
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.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; }]]&gt;&lt;/style&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;3. Get All Builds Associated to the Build Definition&lt;/h3&gt;

&lt;p&gt;Get All Builds in the build definition for specific build Definition specifications programmatically, this helps you narrow down the search and get the selected few filtered results, like in the snippet below, we specify the maximum number of builds to return, what build quality builds to return, etc.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// Get All Builds for the selected build definition &lt;/span&gt;
&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; cbBuildDef_SelectionChanged(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, SelectionChangedEventArgs e)
{
       var bdef = (((ComboBox)sender).SelectedItem) &lt;span class="kwrd"&gt;as&lt;/span&gt; IBuildDefinition;
       var def = _bs.CreateBuildDetailSpec(_selectedTeamProject);
       def.MaxBuildsPerDefinition = 10;
       def.QueryOrder = BuildQueryOrder.FinishTimeDescending;
       def.DefinitionSpec.Name = bdef.Name;
       def.Status = BuildStatus.All;
       var builds = _bs.QueryBuilds(def).Builds;

        cbBuild.ItemsSource = _bs.QueryBuilds(def).Builds;
        cbBuild.DisplayMemberPath = &lt;span class="str"&gt;"BuildNumber"&lt;/span&gt;;
        cbBuild.SelectedValuePath = &lt;span class="str"&gt;"Uri"&lt;/span&gt;;
        cbBuild.SelectedIndex = 0;
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.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; }]]&gt;&lt;/style&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;4. Get all the Test Results associated to a Build&lt;/h3&gt;

&lt;p&gt;I’ll be using the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestmanagementservice.aspx"&gt;&lt;font color="#0000ff"&gt;ITestManagementService&lt;/font&gt;&lt;/a&gt; to pull all test runs associated to a build. As you can see below by using the QueryResultsByOutcome I can query for tests that passed or failed or tests that errored. You could also use the QueryResultsByOwner to get test results by individual tfs users.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; GetTestResult(Uri buildUri)
{
       _tms = _tfs.GetService&amp;lt;ITestManagementService&amp;gt;();
       var testRuns = _tms.GetTeamProject(_selectedTeamProject).TestRuns.ByBuild(buildUri);

        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var testRun &lt;span class="kwrd"&gt;in&lt;/span&gt; testRuns)
        {
             lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}"&lt;/span&gt;, testRun.Title));
             lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"TestRunId: {0} | TestPlanId: {1}"&lt;/span&gt;, testRun.Id, testRun.TestPlanId));
             lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"TestSettingsId: {0} | TestEnvironmentId {1} "&lt;/span&gt;, testRun.TestSettingsId, testRun.TestEnvironmentId));

             var totalTests = testRun.Statistics.TotalTests;

              &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var et &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Error))
              {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, et.Outcome, et.TestCaseTitle, et.ErrorMessage));
              }

              &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tp &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Passed))
              {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} "&lt;/span&gt;, tp.Outcome, tp.TestCaseTitle));
               }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tf &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Failed))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, tf.Outcome, tf.TestCaseTitle, tf.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tw &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Warning))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, tw.Outcome, tw.TestCaseTitle, tw.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var ta &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Aborted))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, ta.Outcome, ta.TestCaseTitle, ta.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tb &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Blocked))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, tb.Outcome, tb.TestCaseTitle, tb.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var ti &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Inconclusive))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, ti.Outcome, ti.TestCaseTitle, ti.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var to &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Timeout))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, to.Outcome, to.TestCaseTitle, to.ErrorMessage));
                }

                &lt;span class="rem"&gt;// Get the test results by user by passing in the Test Foundation Identity&lt;/span&gt;
                &lt;span class="rem"&gt;// testRun.QueryResultsByOwner(TeamFoundationIdentity);&lt;/span&gt;
            }

            &lt;span class="kwrd"&gt;if&lt;/span&gt;(testRuns.Count() == 0)
                lstTestRunDetails.Items.Add(&lt;span class="str"&gt;"No Test Results have been associated with the selected build"&lt;/span&gt;);
 }&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.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; }]]&gt;&lt;/style&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;5. Putting it all together&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=61D0A67D27B527D3&amp;amp;id=61D0A67D27B527D3%21152#cid=61D0A67D27B527D3&amp;amp;id=61D0A67D27B527D3%21653"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;Download the sample application&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; – wpf, .net 4, you need to have &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=2680"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;vs sdk&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; installed on your machine to run it. &lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Controls;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Data;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Documents;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Input;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Media;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Media.Imaging;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Navigation;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Shapes;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Build.Client;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Client;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.TestManagement.Client;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.VersionControl.Client;

&lt;span class="kwrd"&gt;namespace&lt;/span&gt; TfsApiGetTestResultsAndDetailsByStatus
{
    &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
    &lt;span class="rem"&gt;/// Interaction logic for MainWindow.xaml&lt;/span&gt;
    &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MainWindow : Window
    {
        &lt;span class="kwrd"&gt;public&lt;/span&gt; MainWindow()
        {
            InitializeComponent();
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; TfsTeamProjectCollection _tfs;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _selectedTeamProject;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; IBuildServer _bs;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; VersionControlServer _vcs;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; ITestManagementService _tms;

        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ConnectToTfs()
        {
            TeamProjectPicker tfsPP = &lt;span class="kwrd"&gt;new&lt;/span&gt; TeamProjectPicker(TeamProjectPickerMode.SingleProject, &lt;span class="kwrd"&gt;false&lt;/span&gt;);
            tfsPP.ShowDialog();
            &lt;span class="kwrd"&gt;this&lt;/span&gt;._tfs = tfsPP.SelectedTeamProjectCollection;
            &lt;span class="kwrd"&gt;this&lt;/span&gt;._selectedTeamProject = tfsPP.SelectedProjects[0].Name;
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; btnConnect_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
        {
            ConnectToTfs();
            _vcs = _tfs.GetService&amp;lt;VersionControlServer&amp;gt;();
            cbBuildDef.ItemsSource = GetAllBuildDefinitionsFromTheTeamProject();
            cbBuildDef.DisplayMemberPath = &lt;span class="str"&gt;"Name"&lt;/span&gt;;
            cbBuildDef.SelectedValuePath = &lt;span class="str"&gt;"Uri"&lt;/span&gt;;
            cbBuildDef.SelectedIndex = 0;
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; IBuildDefinition[] GetAllBuildDefinitionsFromTheTeamProject()
        {
            _bs = _tfs.GetService&amp;lt;IBuildServer&amp;gt;();
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _bs.QueryBuildDefinitions(_selectedTeamProject);
        }

        &lt;span class="rem"&gt;// Get All Builds for the selected build definition &lt;/span&gt;
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; cbBuildDef_SelectionChanged(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, SelectionChangedEventArgs e)
        {
            var bdef = (((ComboBox)sender).SelectedItem) &lt;span class="kwrd"&gt;as&lt;/span&gt; IBuildDefinition;
            var def = _bs.CreateBuildDetailSpec(_selectedTeamProject);
            def.MaxBuildsPerDefinition = 10;
            def.QueryOrder = BuildQueryOrder.FinishTimeDescending;
            def.DefinitionSpec.Name = bdef.Name;
            def.Status = BuildStatus.All;
            var builds = _bs.QueryBuilds(def).Builds;

            cbBuild.ItemsSource = _bs.QueryBuilds(def).Builds;
            cbBuild.DisplayMemberPath = &lt;span class="str"&gt;"BuildNumber"&lt;/span&gt;;
            cbBuild.SelectedValuePath = &lt;span class="str"&gt;"Uri"&lt;/span&gt;;
            cbBuild.SelectedIndex = 0;
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; cbBuild_SelectionChanged(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, SelectionChangedEventArgs e)
        {
            var build = (((ComboBox)sender).SelectedItem) &lt;span class="kwrd"&gt;as&lt;/span&gt; IBuildDetail;
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (build == &lt;span class="kwrd"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; ((ComboBox)sender).Items.Count != 0)
            {
                build = ((ComboBox)sender).Items[0] &lt;span class="kwrd"&gt;as&lt;/span&gt; IBuildDetail;
                var def = _bs.CreateBuildDetailSpec(_selectedTeamProject);
                GetTestResult(build.Uri);
            }
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; GetTestResult(Uri buildUri)
        {
            _tms = _tfs.GetService&amp;lt;ITestManagementService&amp;gt;();
            var testRuns = _tms.GetTeamProject(_selectedTeamProject).TestRuns.ByBuild(buildUri);

            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var testRun &lt;span class="kwrd"&gt;in&lt;/span&gt; testRuns)
            {
                lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}"&lt;/span&gt;, testRun.Title));
                lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"TestRunId: {0} | TestPlanId: {1}"&lt;/span&gt;, testRun.Id, testRun.TestPlanId));
                lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"TestSettingsId: {0} | TestEnvironmentId {1} "&lt;/span&gt;, testRun.TestSettingsId, testRun.TestEnvironmentId));

                var totalTests = testRun.Statistics.TotalTests;

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var et &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Error))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, et.Outcome, et.TestCaseTitle, et.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tp &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Passed))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} "&lt;/span&gt;, tp.Outcome, tp.TestCaseTitle));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tf &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Failed))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, tf.Outcome, tf.TestCaseTitle, tf.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tw &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Warning))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, tw.Outcome, tw.TestCaseTitle, tw.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var ta &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Aborted))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, ta.Outcome, ta.TestCaseTitle, ta.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var tb &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Blocked))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, tb.Outcome, tb.TestCaseTitle, tb.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var ti &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Inconclusive))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, ti.Outcome, ti.TestCaseTitle, ti.ErrorMessage));
                }

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var to &lt;span class="kwrd"&gt;in&lt;/span&gt; testRun.QueryResultsByOutcome(TestOutcome.Timeout))
                {
                    lstTestRunDetails.Items.Add(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"{0}: {1} - {2}"&lt;/span&gt;, to.Outcome, to.TestCaseTitle, to.ErrorMessage));
                }

                &lt;span class="rem"&gt;// Get the test results by user by passing in the Test Foundation Identity&lt;/span&gt;
                &lt;span class="rem"&gt;// testRun.QueryResultsByOwner(TeamFoundationIdentity);&lt;/span&gt;
            }

            &lt;span class="kwrd"&gt;if&lt;/span&gt;(testRuns.Count() == 0)
                lstTestRunDetails.Items.Add(&lt;span class="str"&gt;"No Test Results have been associated with the selected build"&lt;/span&gt;);
        }
    }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.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; }]]&gt;&lt;/style&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;6. And the Bonus Power tool…&lt;/h3&gt;

&lt;p&gt;Thank you for reading this far. If you haven’t already download the Community TFS Build Manager extension from the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/16bafc63-0f20-4cc3-8b67-4e25d150102c"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;visual studio extension gallery&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; do so now. The Community TFS Build Manager (TBM) is an open source build management solution developed by the ALM rangers, the build manager simplifies the management of builds in medium to large Team Foundation Server environments. Some common limitations you may run into while dealing with builds through the Visual Studio Build Explorer are not being able to perform bulk operations on builds, create a relationship diagram of the build controller/agents, managing build process templates, etc. The community TFS build manager address that and many other such gaps you may encounter while managing builds through the visual studio build explorer. You can grab the source and read more about the project on &lt;a href="http://tfsbuildextensions.codeplex.com/"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;CodePlex&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Recently a new feature namely Build Notes has been added to the community TFS Build Manager that let’s you generate an ms word report of the build summary. A sample attached below… Look at the test result section, the trx file is parsed for you to get you a test result list filtered by test result outcome, where failed test also carries the error message. Watch this &lt;a href="http://www.youtube.com/watch?v=7jSP2NvuU8M&amp;amp;feature=player_embedded"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;video&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; or read this &lt;a href="http://geekswithblogs.net/TarunArora/archive/2012/04/27/community-tfs-build-manager-ndash-build-notes-preview.aspx"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;post&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; here on what you can achieve with the build notes. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/CommunityTFSBuildManagerBuildNotes_8B3F/image_32.png"&gt;&lt;img title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/CommunityTFSBuildManagerBuildNotes_8B3F/image_thumb_15.png" width="490" height="533" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/CommunityTFSBuildManagerBuildNotes_8B3F/image_30.png"&gt;&lt;img title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/WindowsLiveWriter/CommunityTFSBuildManagerBuildNotes_8B3F/image_thumb_14.png" width="487" height="471" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Thank you for taking the time out and reading this blog post. If you enjoyed the post, remember to subscribe to &lt;a href="http://feeds.feedburner.com/TarunArora"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://feeds.feedburner.com/TarunArora&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Check out the other posts on &lt;a href="http://geekswithblogs.net/TarunArora/category/12804.aspx"&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;cool tools using TFS API&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;. &lt;img alt="In love" src="http://geekswithblogs.net/images/geekswithblogs_net/TarunArora/Windows-Live-Writer/TFS-APIRelease-Notes-From-Build_DFBA/wlEmoticon-Inlove_2.png" /&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/TarunArora/aggbug/149669.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/_CrL_WrNr38" height="1" width="1"/&gt;</description><dc:creator>Tarun Arora</dc:creator><feedburner:origLink>http://geekswithblogs.net/TarunArora/archive/2012/05/16/get-detailed-build-test-results-using-the-tfs-api.aspx</feedburner:origLink></item><item><title>SQL Server 2008 R2 setup fails on a Windows Virtual PC (VPC) with error code 2337</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jJKwW6EPOXA/149668.aspx</link><pubDate>Wed, 16 May 2012 13:17:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/danielh/archive/2012/05/16/149668.aspx</guid><wfw:comment>http://geekswithblogs.net/danielh/comments/149668.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/danielh/comments/commentRss/149668.aspx</wfw:commentRss><comments>http://geekswithblogs.net/danielh/archive/2012/05/16/149668.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/danielh/services/trackbacks/149668.aspx</trackback:ping><source url="http://geekswithblogs.net/danielh/rss.aspx">SQL Server 2008 R2 setup fails on a Windows Virtual PC (VPC) with error code 2337</source><description>&lt;p&gt;When installing SQL Server 2008 R2 (Developer, Standard, or Enterprise) within a Virtual PC you may suffer the following problem:&lt;/p&gt;  &lt;p&gt;“The following error has occurred:  The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2337.”&lt;/p&gt;  &lt;p&gt;The error occurs in the following package: sql_engine_core_shared&lt;/p&gt;  &lt;p&gt;It turns out that this problem is with the DVD/ISO Mounting Feature in Windows Virtual PC.  To workaround the problem you need to expand the ISO with WinRAR – not WinZip and not by copying the contents of the mounted ISO to the VPC’s hard drive.  You need to use WinRAR to extract the ISO; extracting the contents of the ISO with anything else just won’t solve the problem.&lt;/p&gt;  &lt;p&gt;Microsoft have acknowledged the problem here:&lt;/p&gt;  &lt;p&gt;&lt;a title="https://connect.microsoft.com/SQLServer/feedback/details/550502/r2-rc0-install-problem-on-virtual-pc-2007" href="https://connect.microsoft.com/SQLServer/feedback/details/550502/r2-rc0-install-problem-on-virtual-pc-2007"&gt;https://connect.microsoft.com/SQLServer/feedback/details/550502/r2-rc0-install-problem-on-virtual-pc-2007&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;WinRAR can be found here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.win-rar.com/download.html" href="http://www.win-rar.com/download.html"&gt;http://www.win-rar.com/download.html&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/danielh/aggbug/149668.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jJKwW6EPOXA" height="1" width="1"/&gt;</description><dc:creator>Daniel Hester</dc:creator><feedburner:origLink>http://geekswithblogs.net/danielh/archive/2012/05/16/149668.aspx</feedburner:origLink></item><item><title>Self Host Web Api's for Integration Testing</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/pGCE2Mnqb3c/self-host-web-apis-for-integration-testing.aspx</link><pubDate>Wed, 16 May 2012 09:27:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jdothoffman/archive/2012/05/16/self-host-web-apis-for-integration-testing.aspx</guid><wfw:comment>http://geekswithblogs.net/jdothoffman/comments/149667.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jdothoffman/comments/commentRss/149667.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jdothoffman/archive/2012/05/16/self-host-web-apis-for-integration-testing.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jdothoffman/services/trackbacks/149667.aspx</trackback:ping><source url="http://geekswithblogs.net/jdothoffman/rss.aspx">Self Host Web Api's for Integration Testing</source><description>&lt;p&gt;Recently I had a need to write some tests making Web Api calls that would be deployable to the build server without any special configuration.What I did was utilize the Self Hosting feature in the Asp.NetWebApi.  First, I created a simple Api controller .&lt;/p&gt;&lt;p&gt; &lt;/p&gt;
&lt;pre style="padding: 5px; border: 1px dashed rgb(153, 153, 153); width: 100%; color: rgb(0, 0, 0); line-height: 14px; overflow: auto; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; background-color: rgb(238, 238, 238);"&gt;&lt;p&gt;&lt;code&gt;// GET /api/values
    public class ValuesController : ApiController
    {
        public SomeObjects GetByName(string firstName, string lastName)
        {
            var someObjects= new List&amp;lt;SomeObject&amp;gt;()
                               {
                                    new SomeObject
                                    {
                                        FirstName = "Tom",
                                        LastName = "Jones",
                                        Id= 1213
                                    },
                                     new SomeObject
                                    {
                                        FirstName = "Jane",
                                        LastName = "Doe",
                                        Id= 1523
                                    },
                                     new SomeObject
                                    {
                                        FirstName = "John",
                                        LastName = "Doe",
                                        Id= 3123
                                    }
                               };

            return someObjects.Where(x =&amp;gt; x.FirstName == firstName &amp;amp;&amp;amp; x.LastName == lastName).SingleOrDefault();
        }
    }
&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;
&lt;br /&gt;

Next, I created a simple utility class to execute tests against the hosted service&lt;/p&gt;&lt;p&gt; &lt;/p&gt;
&lt;pre style="padding: 5px; border: 1px dashed rgb(153, 153, 153); width: 100%; color: rgb(0, 0, 0); line-height: 14px; overflow: auto; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; background-color: rgb(238, 238, 238);"&gt;&lt;code&gt;public static class TestHostingUtil
    {
        public static void ExecuteHostedTest(Action&amp;lt;Task&amp;gt; continuationAction, string routeTemplate = null)
        {
            var routeTempl = "api/{controller}/{id}";
            if (!string.IsNullOrEmpty(routeTemplate))
            {
                routeTempl = routeTemplate;
            }

            var serverConfig = new HttpSelfHostConfiguration("http://localhost:8080/");
            serverConfig.Routes.MapHttpRoute("default", routeTempl, new { id = RouteParameter.Optional, folder = "TestApiControllers" });

            var server = new HttpSelfHostServer(serverConfig);
            
            server.OpenAsync().ContinueWith(continuationAction).Wait();
            server.CloseAsync();
        }
    }
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;
&lt;br /&gt;Note the "folder" param in the HttpRoute registration. In the test project this is the folder under which I added the Api controllers, if they were not in a seperate folder you would leave this blank.&lt;/p&gt;&lt;p&gt;Finally, the usuage for your tests:&lt;/p&gt;
&lt;pre style="padding: 5px; border: 1px dashed rgb(153, 153, 153); width: 100%; color: rgb(0, 0, 0); line-height: 14px; overflow: auto; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; background-color: rgb(238, 238, 238);"&gt;&lt;code&gt;[TestMethod]
        public void Should_Perform_Get()
        {
            TestHostingUtil.ExecuteHostedTest(task =&amp;gt;
                                  {

                                      // Arrange
                                      var webUtil=
                                          new WebUtil
                                              &amp;lt;SomeObject, SomeObject&amp;gt;(
                                              "http://localhost:8080/api/values?firstName=Tom&amp;amp;lastName=Jones");

                                      // Act
                                      var result = webUtil.Get();

                                      // Assert
                                      result.FirstName.Should().Be("Tom");
                                  });
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt; &lt;img src="http://geekswithblogs.net/jdothoffman/aggbug/149667.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/pGCE2Mnqb3c" height="1" width="1"/&gt;</description><dc:creator>Justin Hoffman</dc:creator><feedburner:origLink>http://geekswithblogs.net/jdothoffman/archive/2012/05/16/self-host-web-apis-for-integration-testing.aspx</feedburner:origLink></item><item><title>Microsoft Test Manager&amp;ndash;Test Cases Not in a Test Plan</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/RtfZ3nm7t3I/microsoft-test-managerndashtest-cases-not-in-a-test-plan.aspx</link><pubDate>Wed, 16 May 2012 06:21:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BobHardister/archive/2012/05/16/microsoft-test-managerndashtest-cases-not-in-a-test-plan.aspx</guid><wfw:comment>http://geekswithblogs.net/BobHardister/comments/149666.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/149666.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BobHardister/archive/2012/05/16/microsoft-test-managerndashtest-cases-not-in-a-test-plan.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BobHardister/services/trackbacks/149666.aspx</trackback:ping><source url="http://geekswithblogs.net/BobHardister/rss.aspx">Microsoft Test Manager&amp;ndash;Test Cases Not in a Test Plan</source><description>&lt;p&gt;Visual Studio and Team Foundation Server (TFS) 2010 provided support for system testing. Test cases were added as a work item type. But test plans and suites are not work items and this greatly limits the visibility into the management of test artifacts.  For example, there is no easy way out-of-the-box to find test cases that don’t belong to a test plan.&lt;/p&gt;  &lt;p&gt;Here’s the SQL that creates a list of test cases providing the test case:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ID&lt;/li&gt;    &lt;li&gt;Title&lt;/li&gt;    &lt;li&gt;State&lt;/li&gt;    &lt;li&gt;Assigned To&lt;/li&gt;    &lt;li&gt;Area Path&lt;/li&gt;    &lt;li&gt;Iteration Path&lt;/li&gt;    &lt;li&gt;Plan and Suite Path&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can use the output to identify what test cases are in what plan and suite; and more to the point, which test cases are not in a plan.&lt;/p&gt;  &lt;p&gt;Using the &lt;a href="http://www.amrein.com/apps/page.asp?Q=5753" target="_blank"&gt;Amrein SQL Viewer Web Part&lt;/a&gt; you can easily throw this up as a web part on the project portal site where users can globally access, sort and filter the data.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2"&gt;SELECT tco.System_Id as ID        &lt;br /&gt;,tco.System_Title as Title         &lt;br /&gt;,tco.System_State as State         &lt;br /&gt;,ISNULL(p.Name,'null') as Assigned         &lt;br /&gt;,tco.AreaPath as Area         &lt;br /&gt;,tco.IterationPath as Iteration         &lt;br /&gt;,ISNULL(s.SuitePath,'null') as 'Plan'         &lt;br /&gt;FROM Tfs_01Warehouse.dbo.vDimTestCaseOverlay tco inner join Tfs_01Warehouse.dbo.DimPerson p         &lt;br /&gt;ON tco.System_AssignedTo__PersonSK=p.PersonSK left outer join Tfs_{&lt;em&gt;collection DB&lt;/em&gt;}.dbo.tbl_SuiteEntry se ON tco.System_Id=se.TestCaseId left outer join Tfs_01Warehouse.dbo.vDimTestSuiteOverlay s         &lt;br /&gt;ON se.SuiteId=s.TestSuiteID         &lt;br /&gt;WHERE tco.TeamProjectSK={#} /* team project */        &lt;br /&gt;ORDER BY tco.System_Id DESC &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/149666.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/RtfZ3nm7t3I" height="1" width="1"/&gt;</description><dc:creator>Bob Hardister</dc:creator><feedburner:origLink>http://geekswithblogs.net/BobHardister/archive/2012/05/16/microsoft-test-managerndashtest-cases-not-in-a-test-plan.aspx</feedburner:origLink></item><item><title>Mobile responsive site design in Expression Web</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/u5X76GDw9Qg/mobile-responsive-site-design-in-expression-web.aspx</link><pubDate>Wed, 16 May 2012 08:35:12 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ihaynes/archive/2012/05/15/mobile-responsive-site-design-in-expression-web.aspx</guid><wfw:comment>http://geekswithblogs.net/ihaynes/comments/149665.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ihaynes/comments/commentRss/149665.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ihaynes/archive/2012/05/15/mobile-responsive-site-design-in-expression-web.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ihaynes/services/trackbacks/149665.aspx</trackback:ping><source url="http://geekswithblogs.net/ihaynes/rss.aspx">Mobile responsive site design in Expression Web</source><description>&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font face="Tahoma"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;Although it doesn’t have any
specific tools to help responsive or mobile site design this is still possible in
Expression Web and &lt;/span&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;I’ve created a number of
snippets to help the process.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;font size="2"&gt;&lt;font face="Tahoma"&gt;HTML5 and CSS3 are the key
to responsive design, so the snippets cover the new HTML5 layout elements, form
input types and microdata tags, and the CSS3 snippets cover box-radius,
box-shadow, gradients etc. The mobile snippets include the CSS3 media queries,
mobile meta tags and the responsd.js shim that enables older non-HTML5/CSS3
browsers to use the media queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;font size="2"&gt;&lt;font face="Tahoma"&gt;The snippets are downloadable
from the Expression Gallery:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;a href="http://gallery.expression.microsoft.com/HTML5Snippets" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;http://gallery.expression.microsoft.com/HTML5Snippets&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;a href="http://gallery.expression.microsoft.com/CSS3Snippets" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;http://gallery.expression.microsoft.com/CSS3Snippets&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;a href="http://gallery.expression.microsoft.com/MobileSnippets" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;http://gallery.expression.microsoft.com/MobileSnippets&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;font face="Tahoma"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;font size="2"&gt;I’ve also created a sample
mobile-friendly responsive template for EW.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;

&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;a href="http://gallery.expression.microsoft.com/MobileTemplate" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;http://gallery.expression.microsoft.com/MobileTemplate&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font size="2" face="Tahoma"&gt;

&lt;/font&gt;&lt;p style="margin: 0pt 0pt 10pt;" class="MsoNormal"&gt;&lt;span style="color: black; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-bidi-font-weight: bold;"&gt;&lt;font size="2"&gt;&lt;font face="Tahoma"&gt;One caveat about using the
CSS3 media queries with a &lt;u&gt;mobile-first layout&lt;/u&gt; (the preferred way to use
them) is that the Design view in Expression Web doesn’t recognise the queries
and therefore displays the mobile view rather than the appropriate wide screen
view. You may therefore have to rely more on browser preview when laying out pages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

 &lt;img src="http://geekswithblogs.net/ihaynes/aggbug/149665.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/u5X76GDw9Qg" height="1" width="1"/&gt;</description><dc:creator>ihaynes</dc:creator><feedburner:origLink>http://geekswithblogs.net/ihaynes/archive/2012/05/15/mobile-responsive-site-design-in-expression-web.aspx</feedburner:origLink></item><item><title>SharePoint Saturday NYC Update from the Trenches</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/spJKNWNRVdM/sharepoint-saturday-nyc-update-from-the-trenches.aspx</link><pubDate>Tue, 15 May 2012 23:49:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MOSSLover/archive/2012/05/16/sharepoint-saturday-nyc-update-from-the-trenches.aspx</guid><wfw:comment>http://geekswithblogs.net/MOSSLover/comments/149664.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MOSSLover/comments/commentRss/149664.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MOSSLover/archive/2012/05/16/sharepoint-saturday-nyc-update-from-the-trenches.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MOSSLover/services/trackbacks/149664.aspx</trackback:ping><source url="http://geekswithblogs.net/MOSSLover/rss.aspx">SharePoint Saturday NYC Update from the Trenches</source><description>&lt;p&gt;So as you know I am yet again involved in SPS NYC with my awesome teammates, Greg Hurlman, Jason Gallicchio, Tasha Scott, and Tom Daly.  The speakers have finally been picked and a first draft schedule has been posted at &lt;a href="http://www.sharepointsaturday.org/ny"&gt;http://www.sharepointsaturday.org/ny&lt;/a&gt;.  We are also still looking for sponsors if you guys are interested you can also click on the link to grab the form, sign it, and send it to &lt;a href="mailto:sponsors@spsnyc.com"&gt;sponsors@spsnyc.com&lt;/a&gt;.  We are also looking for volunteers and you can fill out the form at the same place listed above.  We are offering a t-shirt and a gift card for those who dedicate a couple hours of service to the event.  I believe this year will be the best event yet.  I am also considering wearing a Viking Helmut with horns if at least one other person will wear a similar item.  I would consider dressing up if I could get another person to dress up, but I think that’s asking for too much.  Also, I need to run around and help the others put out fires, so I’m not so sure full on dress attire would work out.&lt;/p&gt;  &lt;p&gt;Anyway, registration is not yet posted for those of you guys who wish to attend.  We might post it more towards the end of June.  I am not yet sure what the decision was on the exact date, but normally we post about 6 weeks prior to the event.  I hope to see you all this year at the event.  Yet again my dad is going to show up, so stop by, attend a few sessions, and say hi to everyone.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a36b1e19-a32b-434a-a7e0-2d7bf69077ad" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SPS+NYC" rel="tag"&gt;SPS NYC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint+Saturday" rel="tag"&gt;SharePoint Saturday&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/MOSSLover/aggbug/149664.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/spJKNWNRVdM" height="1" width="1"/&gt;</description><dc:creator>MOSSLover</dc:creator><feedburner:origLink>http://geekswithblogs.net/MOSSLover/archive/2012/05/16/sharepoint-saturday-nyc-update-from-the-trenches.aspx</feedburner:origLink></item><item><title>Integrating SharePoint with Fruity Products</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/f8D5Rq_6Gpc/integrating-sharepoint-with-fruity-products.aspx</link><pubDate>Tue, 15 May 2012 23:42:17 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MOSSLover/archive/2012/05/16/integrating-sharepoint-with-fruity-products.aspx</guid><wfw:comment>http://geekswithblogs.net/MOSSLover/comments/149663.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MOSSLover/comments/commentRss/149663.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MOSSLover/archive/2012/05/16/integrating-sharepoint-with-fruity-products.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MOSSLover/services/trackbacks/149663.aspx</trackback:ping><source url="http://geekswithblogs.net/MOSSLover/rss.aspx">Integrating SharePoint with Fruity Products</source><description>&lt;p&gt;So as you can see this blog has not been the best in the world lately.  Life changes and burn out are killing me lately.  Don’t get me wrong I love my job.  I love writing things in Visual Studio, in fact this week I got to work with MVC3 for the first time ever.  I am completely hooked on MVC3 and will further explore that in the upcoming months.  I have entertaining a completely different idea, because I think it would be fun and interesting.  The downside is it involves me buying an Apple computer.&lt;/p&gt;  &lt;p&gt;I have been fighting buying a Macbook Pro for ages.  I love building Windows PCs from scratch.  I love knowing that I built the computer that I am using.  I guess it stems back from my grandparents teaching me that hard work leads to a more fulfilling accomplishment.  Anyway, I am not switching over to the darkside.  I just built myself a gaming PC (core i7 process, 24 gb of ram-32 when I RMA the last two chips, 4 hard drives – main being an SSD, and an NVIDIA GTX 570 card).  I just want to branch out and learn some new tech, so I figure if I have some spare time (which is like asking for a unicorn), I will start posting more about my new development.  Anyway, I am waiting for the WWDC and then I am going to decide on what flavor of Macbook Pro to purchase.  It turns out a Macbook Air won’t get me what I want programmatically the processor might not be quite up to par for hardcore development.  I wouldn’t want to limit myself to anything softcore right?&lt;/p&gt;  &lt;p&gt;So check back here periodically or on twitter.  I’m sure I will post something about my endeavors.  In the meanwhile I am still working on my personal life and I am happy to say I have friends in the area.  For the first time in a very long time some of them are actually female.  As you all know my friends for the longest time were members of the SharePoint and .Net Community mainly and of the male breed.  So things are working out.  I still love every single day in NYC.  It is the first city I can 100% say I belong in.  If I have my way I will stay in the metro area for a long time.  Anyway, I hope you all are having a good time and goodnight.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5bd54d34-83a8-4fe9-bad0-5700ddc8426f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint+and+Apple" rel="tag"&gt;SharePoint and Apple&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+and+Apple" rel="tag"&gt;Microsoft and Apple&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Apple" rel="tag"&gt;Apple&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/MOSSLover/aggbug/149663.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/f8D5Rq_6Gpc" height="1" width="1"/&gt;</description><dc:creator>MOSSLover</dc:creator><feedburner:origLink>http://geekswithblogs.net/MOSSLover/archive/2012/05/16/integrating-sharepoint-with-fruity-products.aspx</feedburner:origLink></item><item><title>Let&amp;rsquo;s MEET Windows Azure</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/6sYV9s1kzbg/letrsquos-meet-windows-azure.aspx</link><pubDate>Wed, 16 May 2012 00:37:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/shaunxu/archive/2012/05/16/letrsquos-meet-windows-azure.aspx</guid><wfw:comment>http://geekswithblogs.net/shaunxu/comments/149662.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/shaunxu/comments/commentRss/149662.aspx</wfw:commentRss><comments>http://geekswithblogs.net/shaunxu/archive/2012/05/16/letrsquos-meet-windows-azure.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/shaunxu/services/trackbacks/149662.aspx</trackback:ping><source url="http://geekswithblogs.net/shaunxu/rss.aspx">Let&amp;rsquo;s MEET Windows Azure</source><description>&lt;p&gt;Microsoft had just released a new website &lt;a href="http://www.meetwindowsazure.com/"&gt;http://www.meetwindowsazure.com/&lt;/a&gt; which announced an outstanding event named “MEET Windows Azure”. There will be some awesome new features and releases being published around the Windows Azure Platform, the cloud computing platform and cloud-based technologies Microsoft offers. From what I know, this might be the biggest innovation in Windows Azure till now.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/shaunxu/Windows-Live-Writer/Lets-MEET-Windows-Azure_8443/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/shaunxu/Windows-Live-Writer/Lets-MEET-Windows-Azure_8443/image_thumb.png" width="531" height="498" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The event will be hosted at 1pm PDT, June 7th at the &lt;a href="http://www.madronestudios.com/ie.html" target="_blank"&gt;Madrone Studio&lt;/a&gt; in San Francisco with limited sites. &lt;strong&gt;But it will opened to everyone who is interested in through the live online.&lt;/strong&gt; If you are willing to join the live stream, like me, go to &lt;a title="http://register.meetwindowsazure.com/" href="http://register.meetwindowsazure.com/"&gt;http://register.meetwindowsazure.com/&lt;/a&gt; to register as soon as possible.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;MEET Windows Azure Blog Relay:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;- &lt;/b&gt;Roger Jennings (&lt;a href="https://twitter.com/#!/rogerjenn"&gt;@rogerjenn&lt;/a&gt;): &lt;a href="http://oakleafblog.blogspot.se/2012/05/social-meet-up-on-twitter-for-meet.html"&gt;Social meet up on Twitter for Meet Windows Azure on June 7th&lt;/a&gt;&lt;br /&gt;- Anton Staykov (&lt;a href="https://twitter.com/#!/astaykov"&gt;@astaykov&lt;/a&gt;): &lt;a href="http://blogs.staykov.net/2012/05/meet-windows-azure-on-june-7th.html"&gt;MEET Windows Azure on June the 7th&lt;/a&gt;&lt;br /&gt;- Patriek van Dorp (&lt;a href="https://twitter.com/#!/pvandorp"&gt;@pvandorp&lt;/a&gt;): &lt;a href="http://cloudythoughts.siadis.com/windows-azure/social-meet-up-for-meet-windows-azure-on-june-7th"&gt;Social Meet Up for ‘MEET Windows Azure’ on June 7th&lt;/a&gt;&lt;br /&gt;- Marcel Meijer (&lt;a href="https://twitter.com/#!/MarcelMeijer"&gt;@MarcelMeijer&lt;/a&gt;): &lt;a href="http://blogs.msmvps.com/marcelmeijer/blog/2012/05/16/meet-windows-azure-on-june-the-7th/"&gt;MEET Windows Azure on June the 7th&lt;/a&gt;&lt;br /&gt;- Nuno (&lt;a href="https://twitter.com/#!/NunoGodinho"&gt;@NunoGodinho&lt;/a&gt;): &lt;a href="http://msmvps.com/blogs/nunogodinho/archive/2012/05/16/social-meet-up-for-meet-windows-azure-on-june-7th.aspx"&gt;Social Meet Up for ‘MEET Windows Azure’ on June 7th&lt;/a&gt;&lt;br /&gt;- Magnus Mårtensson (&lt;a href="http://twitter.com/noopman"&gt;@noopman&lt;/a&gt;): &lt;a href="http://www.magnusmartensson.com/post/2012/05/16/Social-meet-up-on-Twitter-for-MEET-Windows-Azure-on-June-7th.aspx"&gt;Social meet up on Twitter for MEET Windows Azure on June 7th&lt;/a&gt;&lt;br /&gt;- Maarten Balliauw (&lt;a href="http://twitter.com/maartenballiauw"&gt;@maartenballiauw&lt;/a&gt;): &lt;a href="http://blog.maartenballiauw.be/post/2012/05/17/Social-meet-up-on-Twitter-for-MEET-Windows-Azure-on-June-7th.aspx"&gt;Social meet up on Twitter for MEET Windows Azure on June 7th&lt;/a&gt;&lt;br /&gt;- Shaun Xu (&lt;a href="https://twitter.com/#!/shaunxu"&gt;@shaunxu&lt;/a&gt;) &lt;a href="http://blogs.shaunxu.me/archive/2012/05/16/letrsquos-meet-windows-azure.aspx"&gt;Let's MEET Windows Azure&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Shaun&lt;/p&gt;  &lt;div style="border-bottom: #888888 1px solid; border-left: #888888 1px solid; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; color: #888888; border-top: #888888 1px solid; border-right: #888888 1px solid; padding-top: 10px"&gt;&lt;i&gt;All documents and related graphics, codes are provided "AS IS" without warranty of any kind.      &lt;br /&gt;Copyright © Shaun Ziyan Xu. This work is licensed under the &lt;a title="Creative Commons Attribution License" href="http://creativecommons.org/licenses/by/3.0/" rel="external license"&gt;Creative Commons License&lt;/a&gt;. &lt;/i&gt;&lt;/div&gt;   &lt;font color="#e7e7e7"&gt;&lt;/font&gt; &lt;img src="http://geekswithblogs.net/shaunxu/aggbug/149662.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/6sYV9s1kzbg" height="1" width="1"/&gt;</description><dc:creator>Shaun</dc:creator><feedburner:origLink>http://geekswithblogs.net/shaunxu/archive/2012/05/16/letrsquos-meet-windows-azure.aspx</feedburner:origLink></item><item><title>IQueryable Dynamic Expressions</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/t82ARz1rcW0/iqueryable-dynamic-expressions.aspx</link><pubDate>Tue, 15 May 2012 19:19:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Nettuce/archive/2012/05/15/iqueryable-dynamic-expressions.aspx</guid><wfw:comment>http://geekswithblogs.net/Nettuce/comments/149661.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Nettuce/comments/commentRss/149661.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Nettuce/archive/2012/05/15/iqueryable-dynamic-expressions.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://geekswithblogs.net/Nettuce/services/trackbacks/149661.aspx</trackback:ping><source url="http://geekswithblogs.net/Nettuce/rss.aspx">IQueryable Dynamic Expressions</source><description>&lt;pre style="font-family: Consolas; font-size: 13px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(227, 213, 193); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span style="color:#400080;"&gt;public&lt;/span&gt; &lt;span style="color:#400080;"&gt;static&lt;/span&gt; &lt;span style="color:#400080;"&gt;class&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;QueryableExtensions&lt;/span&gt;
    {
        &lt;span style="color:#400080;"&gt;public&lt;/span&gt; &lt;span style="color:#400080;"&gt;static&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;IQueryable&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;T&lt;span style="color:#2e53d1;"&gt;&amp;gt;&lt;/span&gt; Filter&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;T&lt;span style="color:#2e53d1;"&gt;&amp;gt;&lt;/span&gt;(&lt;span style="color:#400080;"&gt;this&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;IQueryable&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;T&lt;span style="color:#2e53d1;"&gt;&amp;gt;&lt;/span&gt; queryable, &lt;span style="color:#305fb6;"&gt;IEnumerable&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#305fb6;"&gt;KeyValuePair&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#400080;"&gt;string&lt;/span&gt;, &lt;span style="color:#400080;"&gt;string&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;gt;&amp;gt;&lt;/span&gt; filters) &lt;span style="color:#400080;"&gt;where&lt;/span&gt; T : &lt;span style="color:#400080;"&gt;class&lt;/span&gt;
        {
            &lt;span style="color:#400080;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#400080;"&gt;var&lt;/span&gt; filter &lt;span style="color:#400080;"&gt;in&lt;/span&gt; filters)
            {
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; propertyName &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#400080;"&gt;typeof&lt;/span&gt;(T)&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;GetProperties()&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Select(x &lt;span style="color:#2e53d1;"&gt;=&amp;gt;&lt;/span&gt; x&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Name)&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;SingleOrDefault(x &lt;span style="color:#2e53d1;"&gt;=&amp;gt;&lt;/span&gt; x&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;ToLower() &lt;span style="color:#2e53d1;"&gt;==&lt;/span&gt; filter&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Key&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;ToLower());
                &lt;span style="color:#400080;"&gt;if&lt;/span&gt; (propertyName&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;IsNullOrWhiteSpace()) &lt;span style="color:#400080;"&gt;continue&lt;/span&gt;;
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; parameterExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Parameter(&lt;span style="color:#400080;"&gt;typeof&lt;/span&gt;(T));
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; propertyExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Property(parameterExpression, propertyName);
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; toStringCallExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Call(propertyExpression, &lt;span style="color:#400080;"&gt;typeof&lt;/span&gt;(T)&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;GetMethod(&lt;span style="color:#259241;"&gt;"ToString"&lt;/span&gt;));
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; toLowerCallExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Call(toStringCallExpression, &lt;span style="color:#400080;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#400080;"&gt;string&lt;/span&gt;)&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;GetMethod(&lt;span style="color:#259241;"&gt;"ToLower"&lt;/span&gt;, &lt;span style="color:#305fb6;"&gt;Type&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;EmptyTypes));
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; constantExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Constant(filter&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Value&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;ToLower());
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; equalExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Equal(toLowerCallExpression, constantExpression);
                &lt;span style="color:#400080;"&gt;var&lt;/span&gt; methodCallExpression &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Call(&lt;span style="color:#400080;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#305fb6;"&gt;Queryable&lt;/span&gt;), &lt;span style="color:#259241;"&gt;"Where"&lt;/span&gt;, &lt;span style="color:#400080;"&gt;new&lt;/span&gt;[] { &lt;span style="color:#400080;"&gt;typeof&lt;/span&gt;(T) }, queryable&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Expression, &lt;span style="color:#305fb6;"&gt;Expression&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Lambda&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#305fb6;"&gt;Func&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;T, &lt;span style="color:#400080;"&gt;bool&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;(equalExpression, &lt;span style="color:#400080;"&gt;new&lt;/span&gt;[] { parameterExpression }));
                queryable &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; queryable&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;Provider&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;CreateQuery(methodCallExpression) &lt;span style="color:#400080;"&gt;as&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;IQueryable&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;&amp;lt;&lt;/span&gt;T&lt;span style="color:#2e53d1;"&gt;&amp;gt;&lt;/span&gt;;
            }
            &lt;span style="color:#400080;"&gt;return&lt;/span&gt; queryable;
        }
    }&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/Nettuce/aggbug/149661.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/t82ARz1rcW0" height="1" width="1"/&gt;</description><dc:creator>Jon Canning</dc:creator><feedburner:origLink>http://geekswithblogs.net/Nettuce/archive/2012/05/15/iqueryable-dynamic-expressions.aspx</feedburner:origLink></item><item><title>Old SQL, Top and a Variable</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-Vb3udFPtTY/old-sql-top-and-a-variable.aspx</link><pubDate>Tue, 15 May 2012 11:48:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Bunch/archive/2012/05/15/old-sql-top-and-a-variable.aspx</guid><wfw:comment>http://geekswithblogs.net/Bunch/comments/149660.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Bunch/comments/commentRss/149660.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Bunch/archive/2012/05/15/old-sql-top-and-a-variable.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Bunch/services/trackbacks/149660.aspx</trackback:ping><source url="http://geekswithblogs.net/Bunch/rss.aspx">Old SQL, Top and a Variable</source><description>&lt;p&gt;I came across this the other day. Using SQL 2000 I could 
not get a Top statement to work with a variable. I had forgotten that only with 
SQL 2005 and higher could you do this trick. I found a good way around it, you 
can &lt;a href="http://sqlserver2000.databases.aspfaq.com/how-do-i-use-a-variable-in-a-top-clause-in-sql-server.html"&gt;read 
about it here&lt;/a&gt;. Anyway this works on SQL 2000:&lt;/p&gt;
&lt;p&gt;declare @top int&lt;br /&gt;set @top = 5 &lt;/p&gt;
&lt;p&gt;BEGIN&lt;br /&gt;set rowcount @top&lt;br /&gt; select Some_ID&lt;br /&gt; from tblStuff&lt;br /&gt;set 
rowcount 0&lt;br /&gt;END&lt;/p&gt;
&lt;p&gt;The code above would return the first five records from tblStuff. For any of 
the newer SQL Server version you can simply use the @top variable in Top 
like:&lt;/p&gt;
&lt;p&gt;select top (@top) Some_ID&lt;br /&gt;from tblStuff&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;p&gt;Tags: &lt;a href="http://technorati.com/tag/SQL" rel="tag"&gt;SQL&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Bunch/aggbug/149660.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-Vb3udFPtTY" height="1" width="1"/&gt;</description><dc:creator>Bunch</dc:creator><feedburner:origLink>http://geekswithblogs.net/Bunch/archive/2012/05/15/old-sql-top-and-a-variable.aspx</feedburner:origLink></item><item><title>Sass vs Less</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/9E-JEYL1k3Y/sass-vs-less.aspx</link><pubDate>Tue, 15 May 2012 08:42:24 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/renso/archive/2012/05/15/sass-vs-less.aspx</guid><wfw:comment>http://geekswithblogs.net/renso/comments/149659.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/renso/comments/commentRss/149659.aspx</wfw:commentRss><comments>http://geekswithblogs.net/renso/archive/2012/05/15/sass-vs-less.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/renso/services/trackbacks/149659.aspx</trackback:ping><source url="http://geekswithblogs.net/renso/rss.aspx">Sass vs Less</source><description>I know there are afew places where you can check out the differences between Sass or Less, but I thought it may be helpful for others to know why I chose one over the other.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are some of my sources:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;http://sass-lang.com/&lt;/li&gt;&lt;li&gt;http://www.dotlesscss.org/&lt;/li&gt;&lt;li&gt;http://stackoverflow.com/questions/8411066/less-vs-sass-vs&lt;/li&gt;&lt;li&gt;http://coding.smashingmagazine.com/2011/09/09/an-introduction-to-less-and-comparison-to-sass/&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since my main decision was affected by my IDE I need to mention my development environment:&lt;/div&gt;&lt;div&gt;Visual Studio 2010 with Mindscape's Web Workbench&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In short I chose Sass (Syntactically Awesome Style Sheet). My main reason was that when you save the file in VS, it automatically regenerates the CSS file for SCSS on the fly, so you are able to see right away what CSS is being generated and can run your app right away. I am not in the favor of Less in this regard, as although you can specify set of handlers etc to interpret the less file on the fly, I would never use it to interpret on the fly, especially not on production servers.&lt;br /&gt;&lt;br /&gt;Also the Ruby team now ships officially with CoffeeScript and Sass by default and will be included by default in the gems when you deploy your Ruby app. Maybe another reason to use it if you're in the Rails framework.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Any comments very welcome as I am am not sure if my assumptions and assertions are true.&lt;/div&gt; &lt;img src="http://geekswithblogs.net/renso/aggbug/149659.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/9E-JEYL1k3Y" height="1" width="1"/&gt;</description><dc:creator>Renso</dc:creator><feedburner:origLink>http://geekswithblogs.net/renso/archive/2012/05/15/sass-vs-less.aspx</feedburner:origLink></item><item><title>Passing in report parameters to TFS 2010 OLAP Web Parts on the Team Portal</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/UHZAvsAY7aI/passing-in-report-parameters-to-tfs-2010-olap-web-parts.aspx</link><pubDate>Tue, 15 May 2012 06:48:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BobHardister/archive/2012/05/15/passing-in-report-parameters-to-tfs-2010-olap-web-parts.aspx</guid><wfw:comment>http://geekswithblogs.net/BobHardister/comments/149635.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/149635.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BobHardister/archive/2012/05/15/passing-in-report-parameters-to-tfs-2010-olap-web-parts.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BobHardister/services/trackbacks/149635.aspx</trackback:ping><source url="http://geekswithblogs.net/BobHardister/rss.aspx">Passing in report parameters to TFS 2010 OLAP Web Parts on the Team Portal</source><description>&lt;p&gt;There is some helpful &lt;a href="http://www.ewaldhofman.nl/post/2009/06/01/Add-SSRS-report-as-dashboard-to-sharepoint.aspx"&gt;information&lt;/a&gt; from Ewald Hofman on passing in parameters to the TFS SQL Server Analysis Services OLAP reports.&lt;/p&gt;
&lt;p&gt;But, the 2010 schema has changed. You can use the SQL Server Mgmgt Studio to access the metadata and query the tables to seee the new schema and record values. &lt;/p&gt;
&lt;p&gt;As an example of the Task Burndown report on the TFS 2010 Project Portal, here's the URL that worked in a browser:&lt;/p&gt;
&lt;p&gt;http://{your tfs server}/Reports/Pages/Report.aspx?ItemPath=%2fTfsReports%2fDefaultCollection%2fCcMsd1.0%2fDashboards%2fBurndown&amp;amp;rc%3atoolbar=false&amp;amp;rs%3aCommand=Render&amp;amp;IterationParam=[IterationName].[ParentIterationSK].%26[{the IterationSK value}]&lt;/p&gt;
&lt;p&gt;Here's the URL that was accepted in the web part:&lt;/p&gt;
&lt;p&gt;/sites/DefaultCollection/CcMsd1.0/_layouts/TfsRedirect.aspx?tf:Type=Report&amp;amp;tf:ReportName=Dashboards%2fBurndown&amp;amp;tf:ShowToolbar=0&amp;amp;Width=381pt&amp;amp;Height= 180pt&amp;amp;tf:Command=Render&amp;amp;tf:Parameters=IterationParam=[IterationName].[ParentIterationSK].%26[17]&lt;/p&gt;
&lt;p&gt;To-date though, &lt;strong&gt;even though the report processes without error, the passed in parameters don't make any difference/change in the report. So, I gave up on this approach and was somewhat successful with &lt;a href="http://agilescmtalk.com/node/24"&gt;this approach (see my subsequent blog article).&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/149635.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/UHZAvsAY7aI" height="1" width="1"/&gt;</description><dc:creator>Bob Hardister</dc:creator><feedburner:origLink>http://geekswithblogs.net/BobHardister/archive/2012/05/15/passing-in-report-parameters-to-tfs-2010-olap-web-parts.aspx</feedburner:origLink></item><item><title>How I Customized Report Parameters for Team Foundation Server 2010</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/b-nQ0MYCqUE/how-i-customized-report-parameters-for-team-foundation-server-2010.aspx</link><pubDate>Tue, 15 May 2012 06:46:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BobHardister/archive/2012/05/15/how-i-customized-report-parameters-for-team-foundation-server-2010.aspx</guid><wfw:comment>http://geekswithblogs.net/BobHardister/comments/149634.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/149634.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BobHardister/archive/2012/05/15/how-i-customized-report-parameters-for-team-foundation-server-2010.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BobHardister/services/trackbacks/149634.aspx</trackback:ping><source url="http://geekswithblogs.net/BobHardister/rss.aspx">How I Customized Report Parameters for Team Foundation Server 2010</source><description>&lt;p&gt;My goal was to have &lt;strong&gt;the burndown chart &lt;/strong&gt;on the team project portal main page &lt;strong&gt;display the current iteration.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The default report displays the tasks for the entire team project starting 5 days before the current date and ending 25 days after the current date. FRUSTRATING, to say the least! I mean, what a useless report! Who's Agile book did they get that one from?&lt;/p&gt;
&lt;p&gt;What I wanted was to see the burndown for the current iteration. That is, &lt;strong&gt;tasks for that iteration only &lt;/strong&gt;and that iteration starting on a &lt;strong&gt;fixed start date &lt;/strong&gt;and stopping on a &lt;strong&gt;fixed finish date.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First, I tried to implement this by passing in the parameters in the web part link url. I talked to about 4 different Microsoft people at PDC; specialist in VS ALM, SSRS, SharePoint. No one knew how to do this. See my original article on this &lt;a href="http://agilescmtalk.com/node/20"&gt;here.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have yet to be successful on the first approach. Which seems the most obvious way to approach it. I hope that this secret makes its way into the TFS community at some point. No wonder so few use TFS SSRS reporting! Can you sense the frustration?&lt;/p&gt;
&lt;p&gt;Then, I came across at article by John Socha-Leialoha on &lt;a href="http://www.socha.com/blogs/john/"&gt;Customizing Report Parameters for Team Foundation Server 2010.&lt;/a&gt; This article describes how I used his approach to be successful.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;First, save a copy of the report definition so you can restore it if things get messed up. 
&lt;/li&gt;&lt;li&gt;To access the report definition, from the team project main page, select Reports from the left column and then navigate through the SQl Server Reporting Services (SSRS) location hierarchy to find the report. Click on it to open it. Go to the Properties tab and select the General panel. Click Edit to save a copy of the report definition file. You will need to click the Update button to browse, select and then apply the file to restore the definition 
&lt;/li&gt;&lt;li&gt;Now, to the point: select the Properties panel and set the iteration path on the report parameters page as John's blog specifies. &lt;strong&gt;Note: &lt;/strong&gt;the parameter string for iteration path [Work Item].[Iteration Hierarchy].[All] must be changed to [Work Item].[Iteration Hierarchy].[Iteration1].&amp;amp;[{ParentIterationSK}]&amp;amp;[{IterationSK}]. I had to use the MS SQL Server Mgmgt Studio (SSMS) to find out what these were. I connected to my TFS server using the SSMS, opened the Tfs_Warehouse Database and queried the rows in the dbo.DimIteration table. From here you can see what the SK values are based on the IterationPath you are interested in. &lt;strong&gt;Note2: &lt;/strong&gt;I don't know what "[Iteration1]" means for sure. It may have to do with the depth of the IterationPath Hierarchy. In my case, I'm only one level down from the root of the iteration path. So, in this case, I must use "[Iteration1]" regardless of the real iteration I want to report on. So, if the full parameter for my first iteration is: [Work Item].[Iteration Hierarchy].[Iteration1].&amp;amp;[14]&amp;amp;[17] and the SK for my second iteration is 18, my parameter for my project's second iteration looks like this: [Work Item].[Iteration Hierarchy].[Iteration1].&amp;amp;[14]&amp;amp;[18] 
&lt;/li&gt;&lt;li&gt;Next, click the "Override Default" for StartDateParam and EndDateParam. &lt;strong&gt;Note: &lt;/strong&gt;I think this is permanent for the active defintion. I think you can restore the original defintion to reset the default. Type in the start and end date you want (mm/dd/yyyy). The time will default to 12 AM, but you can change this after you have applied the first explicit date values. 
&lt;/li&gt;&lt;li&gt;Now view and display the report. You should see the report you want :) 
&lt;/li&gt;&lt;li&gt;Next, rename the report to reflect the iteration it's for 
&lt;/li&gt;&lt;li&gt;Now create the linked reports as described by John in his blog 
&lt;/li&gt;&lt;li&gt;Finally, you can easily modify the web part link url to containt the correct report name. &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; &lt;br /&gt;In subsequent work I confirmed the syntax of the IterationParm string. For example, take - &lt;/p&gt;
&lt;p&gt;[Work Item].[Iteration Hierarchy].[Iteration1].&amp;amp;[14]&amp;amp;[18]&lt;/p&gt;
&lt;p&gt;The [Iteration1] node does prescribe the depth of the hierarchy. [Iteration1] means root to 1st level. [Iteration2] means root to 1st level to 2nd level] and so forth. The node IDs correspond to the nodes at each level.&lt;/p&gt;
&lt;p&gt;So [Work Item].[Iteration Hierarchy].[Iteration4].&amp;amp;[14]&amp;amp;[18]&amp;amp;[54]&amp;amp;[72] specifies an iteration path node at the root&amp;gt;1st&amp;gt;2nd&amp;gt;3rd level.&lt;/p&gt;
&lt;p&gt;You can obtain the SSRS report properties IterationParm value using SQL Server Management Studio. Connect using SQL Server Analysis Services and create an MDX query of the work item.iteration hiearchy path node you want to report on. See &lt;a href="http://www.socha.com/blogs/john/2009/10/customizing-report-parameters-for-team.html"&gt;this&lt;/a&gt; great article by John Socha-Leiloha for more details.&lt;/p&gt;
&lt;p&gt;Good hunting!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/149634.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/b-nQ0MYCqUE" height="1" width="1"/&gt;</description><dc:creator>Bob Hardister</dc:creator><feedburner:origLink>http://geekswithblogs.net/BobHardister/archive/2012/05/15/how-i-customized-report-parameters-for-team-foundation-server-2010.aspx</feedburner:origLink></item><item><title>Using a TFS 2010 custom bug work item definition with the MTLM Test Runner</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kR4TGQGAVnc/using-a-tfs-2010-custom-bug-work-item-definition-with.aspx</link><pubDate>Tue, 15 May 2012 06:44:29 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BobHardister/archive/2012/05/15/using-a-tfs-2010-custom-bug-work-item-definition-with.aspx</guid><wfw:comment>http://geekswithblogs.net/BobHardister/comments/149633.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/149633.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BobHardister/archive/2012/05/15/using-a-tfs-2010-custom-bug-work-item-definition-with.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BobHardister/services/trackbacks/149633.aspx</trackback:ping><source url="http://geekswithblogs.net/BobHardister/rss.aspx">Using a TFS 2010 custom bug work item definition with the MTLM Test Runner</source><description>&lt;p&gt;We don’t use the term “Bug,” rather we use “Software Action Request” or “SAR.” I renamed the Bug WI definition from Bug to SAR. I added a few custom fields to our SAR WI definition, but all the Microsoft fields are used and unchanged.&lt;/p&gt;
&lt;p&gt;What I want is for the MTLM client to be configured to open a SAR rather than a Bug. In other words, out-of-the-box when a user is manually executing a test case with the MTLM Test Runner client and one of the steps fail, the user clicks a button to create a Bug or link to an existing Bug. &lt;/p&gt;
&lt;p&gt;The answer was provided by Rubel Singal in &lt;a href="http://blogs.msdn.com/rubel/archive/2009/12/15/how-can-i-configure-mtlm-to-use-my-custom-bug-test-case-type.aspx"&gt;this blog article.&lt;/a&gt; It works! Thank you Rubel!&lt;/p&gt;
&lt;p&gt;Happy trails!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/149633.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kR4TGQGAVnc" height="1" width="1"/&gt;</description><dc:creator>Bob Hardister</dc:creator><feedburner:origLink>http://geekswithblogs.net/BobHardister/archive/2012/05/15/using-a-tfs-2010-custom-bug-work-item-definition-with.aspx</feedburner:origLink></item></channel></rss>

