<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Reacties voor 4DotNet Developers Blog</title>
	<atom:link href="http://blog.4dotnet.nl/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.4dotnet.nl</link>
	<description>Informatie en ervaringen van de 4DotNet developers</description>
	<lastBuildDate>Fri, 11 Jun 2010 19:53:44 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Reactie op Als Pasen op een vrijdag valt door Rene Kapitein</title>
		<link>http://blog.4dotnet.nl/738/rene-kapitein/just-for-fun/als-pasen-op-een-vrijdag-valt/comment-page-1#comment-419</link>
		<dc:creator>Rene Kapitein</dc:creator>
		<pubDate>Fri, 11 Jun 2010 19:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=738#comment-419</guid>
		<description>Voor Jos en natuurlijk ook voor de andere lezers: Ik heb de VB code gefatsoeneerd door bij de pre lang escaped=&quot;true&quot; toe te voegen. Het kleiner dan-teken is nu tenminste goed te lezen.</description>
		<content:encoded><![CDATA[<p>Voor Jos en natuurlijk ook voor de andere lezers: Ik heb de VB code gefatsoeneerd door bij de pre lang escaped=&#8221;true&#8221; toe te voegen. Het kleiner dan-teken is nu tenminste goed te lezen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op Als Pasen op een vrijdag valt door Jos de Vries</title>
		<link>http://blog.4dotnet.nl/738/rene-kapitein/just-for-fun/als-pasen-op-een-vrijdag-valt/comment-page-1#comment-414</link>
		<dc:creator>Jos de Vries</dc:creator>
		<pubDate>Tue, 08 Jun 2010 11:18:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=738#comment-414</guid>
		<description>Zag deze handige functie staan. Toch nog een vraagje mbt onderstaande regel:

If d + e &lt; = 9 Then

Is dit een typefout of wordt hier een voor mij onbekende functie in VB gebruikt?</description>
		<content:encoded><![CDATA[<p>Zag deze handige functie staan. Toch nog een vraagje mbt onderstaande regel:</p>
<p>If d + e &lt; = 9 Then</p>
<p>Is dit een typefout of wordt hier een voor mij onbekende functie in VB gebruikt?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op Silverlight, introductie m.b.t een mediaplayer door Pieter-Paul de Weerd</title>
		<link>http://blog.4dotnet.nl/870/pieter-paul-de-weerd/technieken/c/silverlightmediaplayer/comment-page-1#comment-408</link>
		<dc:creator>Pieter-Paul de Weerd</dc:creator>
		<pubDate>Wed, 02 Jun 2010 07:59:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=870#comment-408</guid>
		<description>De player die gebouwd is, is opgezet om asf, wmv en eventueel mp4 bestanden af te spelen.

De formats die ondersteund worden staan op &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc189080(v=VS.95).aspx&quot; rel=&quot;nofollow&quot;&gt;msdn&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>De player die gebouwd is, is opgezet om asf, wmv en eventueel mp4 bestanden af te spelen.</p>
<p>De formats die ondersteund worden staan op <a href="http://msdn.microsoft.com/en-us/library/cc189080(v=VS.95).aspx" rel="nofollow">msdn</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op Silverlight, introductie m.b.t een mediaplayer door Edgar</title>
		<link>http://blog.4dotnet.nl/870/pieter-paul-de-weerd/technieken/c/silverlightmediaplayer/comment-page-1#comment-407</link>
		<dc:creator>Edgar</dc:creator>
		<pubDate>Wed, 02 Jun 2010 07:52:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=870#comment-407</guid>
		<description>Hoi, welke bestandsformaten je eigenlijk met silverlight afspelen? Ik neem aan dat hij wel ergens codecs vandaan moet halen? 

..of ben je beperkt tot een aantal standaard formaten zoals .asf .wmv ?

gr
edgar</description>
		<content:encoded><![CDATA[<p>Hoi, welke bestandsformaten je eigenlijk met silverlight afspelen? Ik neem aan dat hij wel ergens codecs vandaan moet halen? </p>
<p>..of ben je beperkt tot een aantal standaard formaten zoals .asf .wmv ?</p>
<p>gr<br />
edgar</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op De beste papa van Nederland door Marius Alkema</title>
		<link>http://blog.4dotnet.nl/862/rene-kapitein/overig/de-beste-papa-van-nederland/comment-page-1#comment-404</link>
		<dc:creator>Marius Alkema</dc:creator>
		<pubDate>Tue, 01 Jun 2010 06:33:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=862#comment-404</guid>
		<description>Beste Rene, gefeliciteerd met je nominatie. Mijn collegiale stem heb je natuurlijk! Ik vind je verhaal (ook) een mooi voorbeeld van het succes van Het Nieuwe Werken. En dan beloond worden met zo&#039;n leuk gedicht van je zoontje ... Geweldig! 

Vriendelijke groet, 

Marius</description>
		<content:encoded><![CDATA[<p>Beste Rene, gefeliciteerd met je nominatie. Mijn collegiale stem heb je natuurlijk! Ik vind je verhaal (ook) een mooi voorbeeld van het succes van Het Nieuwe Werken. En dan beloond worden met zo&#8217;n leuk gedicht van je zoontje &#8230; Geweldig! </p>
<p>Vriendelijke groet, </p>
<p>Marius</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op De beste papa van Nederland door Edgar</title>
		<link>http://blog.4dotnet.nl/862/rene-kapitein/overig/de-beste-papa-van-nederland/comment-page-1#comment-401</link>
		<dc:creator>Edgar</dc:creator>
		<pubDate>Mon, 31 May 2010 11:30:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=862#comment-401</guid>
		<description>Lachen dat je bij de &#039;Beste provincie papa&#039;s&#039; staat :) gefeliciteerd!</description>
		<content:encoded><![CDATA[<p>Lachen dat je bij de &#8216;Beste provincie papa&#8217;s&#8217; staat <img src='http://blog.4dotnet.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  gefeliciteerd!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op De beste papa van Nederland door Heiko Schoonhoven - Accountmanager 4DotNet</title>
		<link>http://blog.4dotnet.nl/862/rene-kapitein/overig/de-beste-papa-van-nederland/comment-page-1#comment-391</link>
		<dc:creator>Heiko Schoonhoven - Accountmanager 4DotNet</dc:creator>
		<pubDate>Thu, 27 May 2010 09:02:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=862#comment-391</guid>
		<description>Beste Rene,

Hartstikke leuk; uiteraard direct mijn stem op jou uitegbracht. Succes!

Groeten, Heiko</description>
		<content:encoded><![CDATA[<p>Beste Rene,</p>
<p>Hartstikke leuk; uiteraard direct mijn stem op jou uitegbracht. Succes!</p>
<p>Groeten, Heiko</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op Eerste video opnamen van DevDays2010 online door Marnix</title>
		<link>http://blog.4dotnet.nl/855/edgar-tichelaar/informatief/eerste-video-opnamen-van-devdays2010-online/comment-page-1#comment-366</link>
		<dc:creator>Marnix</dc:creator>
		<pubDate>Fri, 09 Apr 2010 09:49:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=855#comment-366</guid>
		<description>Ben net begonnen aan Scott Hanselman&#039;s MVC en vind het nu al geweldig !</description>
		<content:encoded><![CDATA[<p>Ben net begonnen aan Scott Hanselman&#8217;s MVC en vind het nu al geweldig !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op Microsoft MIX10 sessies online door Edgar</title>
		<link>http://blog.4dotnet.nl/852/rudy-nakken/links/microsoft-mix10-sessies-online/comment-page-1#comment-364</link>
		<dc:creator>Edgar</dc:creator>
		<pubDate>Thu, 08 Apr 2010 12:41:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=852#comment-364</guid>
		<description>Leuk, thanks!</description>
		<content:encoded><![CDATA[<p>Leuk, thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Reactie op Drie lagen applicatie en Linq to SQL door Pieter-Paul</title>
		<link>http://blog.4dotnet.nl/824/rob-brommer/informatief/3-tier-appl-and-linq-to-sql/comment-page-1#comment-356</link>
		<dc:creator>Pieter-Paul</dc:creator>
		<pubDate>Tue, 16 Mar 2010 09:32:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.4dotnet.nl/?p=824#comment-356</guid>
		<description>Een aanvulling op bovenstaande: 

Extensie methods worden in een Static class geplaatst. Aangezien het hier gaat om een generieke functionaliteit, kies ik er vaak voor om zulke zaken in een Library of Utility project (of hoe je het maar wilt noemen), te plaatsen, welke onafhankelijk in elke lagenstructuur gebruikt kan worden.

De Class zal er ongeveer zo uitzien:

&lt;pre lang=&quot;c#&quot;&gt;
using System.Reflection;
using System.Data.Linq.Mapping;
using System.Linq;

public static class Extensions
{
    /// 
    /// Copy Properties from a RootObject to a DestinationObject
    /// 
    /// The Destination Object
    /// The Root Object
    public static void CopyProperties(this T destinationObject, T rootObject)
    {
        foreach (PropertyInfo property in rootObject.GetType().GetProperties().Where(p =&gt; p.GetCustomAttributes(typeof(ColumnAttribute), false).Count() &gt; 0))
        {
            property.SetValue(destinationObject, property.GetValue(rootObject, null), null);
        }
    }
}
&lt;/pre&gt;

Het gebruik in de bovenliggende DAOrder zal dan zo worden:

&lt;pre lang=&quot;c#&quot;&gt;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ForDotNet.Library;

namespace DLLExampleProject
{
    public class DAOrder : DABase
    {
        /// 
        /// Get the Order by its OrderId
        /// 
        /// Order id
        /// Order object
        public static Order GetOrderById(int Id)
        {
            using (var context = new NorthwindDataContext())
            {
                return (from o in context.Orders.
                        where (o.OrderID == Id)
                        select o).Single();
            }
        }

        /// 
        /// Update the order in the database
        /// 
        /// Order to update
        public static void UpdateOrder(Order order)
        {
            using (var context = new NorthwindDataContext())
            {
                Order original = context.Orders.Single(o =&gt; o.OrderID == order.OrderID);
                original.CopyProperties(order);
                context.SubmitChanges();
            }
        }

        /// 
        /// Insert the order in the database
        /// 
        /// Order to insert
        public static void InsertOrder(Order order)
        {
            using (var context = new NorthwindDataContext())
            {
                context.Orders.InsertOnSubmit(order);
                context.SubmitChanges();
            }
        }

        /// 
        /// Delete the order from the database
        /// 
        /// Order to delete
        public static void DeleteOrder(Order order)
        {
            using (var context = new NorthwindDataContext())
            {
                Order original = context.Orders.Single(o =&gt; o.OrderID == order.OrderID);
                context.Orders.DeleteOnSubmit(original);
                context.SubmitChanges();
            }
        }
    }
}
&lt;/pre&gt;

Hopelijk is dit zo nog een stukje duidelijker</description>
		<content:encoded><![CDATA[<p>Een aanvulling op bovenstaande: </p>
<p>Extensie methods worden in een Static class geplaatst. Aangezien het hier gaat om een generieke functionaliteit, kies ik er vaak voor om zulke zaken in een Library of Utility project (of hoe je het maar wilt noemen), te plaatsen, welke onafhankelijk in elke lagenstructuur gebruikt kan worden.</p>
<p>De Class zal er ongeveer zo uitzien:</p>
<pre lang="c#">
using System.Reflection;
using System.Data.Linq.Mapping;
using System.Linq;

public static class Extensions
{
    ///
    /// Copy Properties from a RootObject to a DestinationObject
    ///
    /// The Destination Object
    /// The Root Object
    public static void CopyProperties(this T destinationObject, T rootObject)
    {
        foreach (PropertyInfo property in rootObject.GetType().GetProperties().Where(p =&gt; p.GetCustomAttributes(typeof(ColumnAttribute), false).Count() &gt; 0))
        {
            property.SetValue(destinationObject, property.GetValue(rootObject, null), null);
        }
    }
}
</pre>
<p>Het gebruik in de bovenliggende DAOrder zal dan zo worden:</p>
<pre lang="c#">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ForDotNet.Library;

namespace DLLExampleProject
{
    public class DAOrder : DABase
    {
        ///
        /// Get the Order by its OrderId
        ///
        /// Order id
        /// Order object
        public static Order GetOrderById(int Id)
        {
            using (var context = new NorthwindDataContext())
            {
                return (from o in context.Orders.
                        where (o.OrderID == Id)
                        select o).Single();
            }
        }

        ///
        /// Update the order in the database
        ///
        /// Order to update
        public static void UpdateOrder(Order order)
        {
            using (var context = new NorthwindDataContext())
            {
                Order original = context.Orders.Single(o =&gt; o.OrderID == order.OrderID);
                original.CopyProperties(order);
                context.SubmitChanges();
            }
        }

        ///
        /// Insert the order in the database
        ///
        /// Order to insert
        public static void InsertOrder(Order order)
        {
            using (var context = new NorthwindDataContext())
            {
                context.Orders.InsertOnSubmit(order);
                context.SubmitChanges();
            }
        }

        ///
        /// Delete the order from the database
        ///
        /// Order to delete
        public static void DeleteOrder(Order order)
        {
            using (var context = new NorthwindDataContext())
            {
                Order original = context.Orders.Single(o =&gt; o.OrderID == order.OrderID);
                context.Orders.DeleteOnSubmit(original);
                context.SubmitChanges();
            }
        }
    }
}
</pre>
<p>Hopelijk is dit zo nog een stukje duidelijker</p>
]]></content:encoded>
	</item>
</channel>
</rss>
