<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.netindonesia.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>henryjwr</title><link>http://geeks.netindonesia.net/blogs/henryjwr/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>State Design Pattern Maintain Flow of Algorithm Easily</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx</link><pubDate>Wed, 09 Sep 2009 16:02:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:183518</guid><dc:creator>henryjwr</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=183518</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx#comments</comments><description>&lt;p&gt;In the book “&lt;b&gt;Applying Domain-Driven Design and Patterns: With Examples in C# and .NET&lt;/b&gt;” by Jimmy Nielson he explain about State Design Pattern. He provide an example about state design pattern for Order transaction.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/henryjwr/StateDiagram_5D5885AB.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="StateDiagram" border="0" alt="StateDiagram" src="http://netindonesia.net/blogs/henryjwr/StateDiagram_thumb_618E6F3E.jpg" width="504" height="198" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This pattern is very nice, especially if you have a numerous transition flow in you problem. a beautiful about this pattern is eliminate hard coding of state transition and more flexible if you want to injected new state of it. combine with Strategy Design Pattern you could establish new state without brake the current implementation. imagine that you have already establishing a state flow in your code and suddenly the business process is change example from registered order could make invoice order and so on. With the helpfull of dependency injection and a little bit Strategy Pattern for your implementation you could achieve a better solution that doesn’t break OOD principle “&lt;em&gt;Open/Close Principle&lt;/em&gt;” (A module should open for extension but closed for modification)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/henryjwr/StatePatternCore_5D44826B.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="StatePatternCore" border="0" alt="StatePatternCore" src="http://netindonesia.net/blogs/henryjwr/StatePatternCore_thumb_413301D9.jpg" width="504" height="239" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Above is 4GOF State Design Pattern.&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:&amp;#39;Courier New&amp;#39;, 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;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; SalesOrder&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; IOrderState _currentState;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; IOrderState OrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;             get { &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; _currentState; }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;             set { _currentState = &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;; }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Id { get; set; }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; SalesOrder(String id)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Id = id;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;             _currentState = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; NewOrder(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;             &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; RegisterOrder()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Start Registering, Order Id: &amp;quot;&lt;/span&gt; + &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Id);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;             _currentState.Register();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddOrderLine()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Start Add Order Line, Order Id: &amp;quot;&lt;/span&gt; + &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Id);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt;             _currentState.AddOrderLine();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Cancel()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Start canceling, Order Id: &amp;quot;&lt;/span&gt; + &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Id);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt;             _currentState.Cancel();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum40"&gt;  40:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum42"&gt;  42:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;interface&lt;/span&gt; IOrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum44"&gt;  44:&lt;/span&gt;         SalesOrder Order{ get; set;}&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddOrderLine();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum46"&gt;  46:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Register();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Ship();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum48"&gt;  48:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Cancel();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Invoice();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum50"&gt;  50:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Grant();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum51"&gt;  51:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum52"&gt;  52:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum53"&gt;  53:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum54"&gt;  54:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; NewOrder : IOrderState &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum55"&gt;  55:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum56"&gt;  56:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; NewOrder():&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;){}&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum57"&gt;  57:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum58"&gt;  58:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; NewOrder(SalesOrder salesOrder)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum59"&gt;  59:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum60"&gt;  60:&lt;/span&gt;            &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Order = salesOrder;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum61"&gt;  61:&lt;/span&gt;            Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id :&amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has taken order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum62"&gt;  62:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum63"&gt;  63:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum64"&gt;  64:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Implementation of IOrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum65"&gt;  65:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum66"&gt;  66:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; SalesOrder Order { get; set; }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum67"&gt;  67:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum68"&gt;  68:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddOrderLine()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum69"&gt;  69:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum70"&gt;  70:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id: &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; Do Add Order Line&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum71"&gt;  71:&lt;/span&gt;             Order.OrderState = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; NewOrder(Order);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum72"&gt;  72:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum73"&gt;  73:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum74"&gt;  74:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Register()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum75"&gt;  75:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum76"&gt;  76:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id: &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; Do Registering&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum77"&gt;  77:&lt;/span&gt;             Order.OrderState = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Registered(Order);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum78"&gt;  78:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum79"&gt;  79:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum80"&gt;  80:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Ship()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum81"&gt;  81:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum82"&gt;  82:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum83"&gt;  83:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum84"&gt;  84:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum85"&gt;  85:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Cancel()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum86"&gt;  86:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum87"&gt;  87:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id: &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; Do cancel&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum88"&gt;  88:&lt;/span&gt;             Order.OrderState = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Cancelled(Order);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum89"&gt;  89:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum90"&gt;  90:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum91"&gt;  91:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Invoice()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum92"&gt;  92:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum93"&gt;  93:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum94"&gt;  94:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum95"&gt;  95:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum96"&gt;  96:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Grant()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum97"&gt;  97:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum98"&gt;  98:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum99"&gt;  99:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum100"&gt; 100:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum101"&gt; 101:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum102"&gt; 102:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum103"&gt; 103:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum104"&gt; 104:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Registered : IOrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum105"&gt; 105:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum106"&gt; 106:&lt;/span&gt;         &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum107"&gt; 107:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Registered(SalesOrder order)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum108"&gt; 108:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum109"&gt; 109:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Order = order;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum110"&gt; 110:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id :&amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been registered&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum111"&gt; 111:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum112"&gt; 112:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum113"&gt; 113:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Implementation of IOrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum114"&gt; 114:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum115"&gt; 115:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; SalesOrder Order { get; set; }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum116"&gt; 116:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum117"&gt; 117:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddOrderLine()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum118"&gt; 118:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum119"&gt; 119:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id: &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; Do Add Order Line&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum120"&gt; 120:&lt;/span&gt;             Order.OrderState = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; NewOrder(Order);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum121"&gt; 121:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum122"&gt; 122:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum123"&gt; 123:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Register()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum124"&gt; 124:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum125"&gt; 125:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum126"&gt; 126:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum127"&gt; 127:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum128"&gt; 128:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Ship()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum129"&gt; 129:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum130"&gt; 130:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum131"&gt; 131:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum132"&gt; 132:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum133"&gt; 133:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Cancel()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum134"&gt; 134:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum135"&gt; 135:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id: &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; Do cancel&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum136"&gt; 136:&lt;/span&gt;             Order.OrderState = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Cancelled(Order);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum137"&gt; 137:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum138"&gt; 138:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum139"&gt; 139:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Invoice()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum140"&gt; 140:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum141"&gt; 141:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum142"&gt; 142:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum143"&gt; 143:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum144"&gt; 144:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Grant()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum145"&gt; 145:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum146"&gt; 146:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.NotImplementedException();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum147"&gt; 147:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum148"&gt; 148:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum149"&gt; 149:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum150"&gt; 150:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum151"&gt; 151:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum152"&gt; 152:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Cancelled : IOrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum153"&gt; 153:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum154"&gt; 154:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Cancelled(SalesOrder order)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum155"&gt; 155:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum156"&gt; 156:&lt;/span&gt;             &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum157"&gt; 157:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Order = order;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum158"&gt; 158:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id: &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; Has been Cancelled&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum159"&gt; 159:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum160"&gt; 160:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum161"&gt; 161:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#region&lt;/span&gt; Implementation of IOrderState&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum162"&gt; 162:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum163"&gt; 163:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; SalesOrder Order { get; set; }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum164"&gt; 164:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum165"&gt; 165:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AddOrderLine()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum166"&gt; 166:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum167"&gt; 167:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been cancel please create new order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum168"&gt; 168:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum169"&gt; 169:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum170"&gt; 170:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Register()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum171"&gt; 171:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum172"&gt; 172:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been cancel please create new order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum173"&gt; 173:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum174"&gt; 174:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum175"&gt; 175:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Ship()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum176"&gt; 176:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum177"&gt; 177:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been cancel please create new order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum178"&gt; 178:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum179"&gt; 179:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum180"&gt; 180:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Cancel()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum181"&gt; 181:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum182"&gt; 182:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been cancel please create new order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum183"&gt; 183:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum184"&gt; 184:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum185"&gt; 185:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Invoice()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum186"&gt; 186:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum187"&gt; 187:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been cancel please create new order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum188"&gt; 188:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum189"&gt; 189:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum190"&gt; 190:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Grant()&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum191"&gt; 191:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum192"&gt; 192:&lt;/span&gt;             Console.WriteLine(&lt;span style="color:#006080;"&gt;&amp;quot;Order Id &amp;quot;&lt;/span&gt; + Order.Id + &lt;span style="color:#006080;"&gt;&amp;quot; has been cancel please create new order&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum193"&gt; 193:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum194"&gt; 194:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum195"&gt; 195:&lt;/span&gt;         &lt;span style="color:#cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum196"&gt; 196:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum197"&gt; 197:&lt;/span&gt;     &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum198"&gt; 198:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The different betwen State Pattern and Strategy pattern are Strategy is more dynamic behaviour rather than State, so the state flow is determine by mapping behavior within | by its context. In other word State Pattern are use when we want to mapping already have state flow, on the other hand Strategy Pattern could manypulaterd the state of implementation using injection. &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:b3f6b7f7-b7a0-43af-a4e9-8014cfe415b4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Design+Pattern" rel="tag"&gt;Design Pattern&lt;/a&gt;,&lt;a href="http://technorati.com/tags/State+Pattern" rel="tag"&gt;State Pattern&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Strategy+Pattern" rel="tag"&gt;Strategy Pattern&lt;/a&gt;&lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx&amp;amp;subject=State Design Pattern Maintain Flow of Algorithm Easily" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx&amp;amp;t=State+Design+Pattern+Maintain+Flow+of+Algorithm+Easily" target="_blank" title="Submit State Design Pattern Maintain Flow of Algorithm Easily to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx&amp;amp;title=State+Design+Pattern+Maintain+Flow+of+Algorithm+Easily" target="_blank" title="Submit State Design Pattern Maintain Flow of Algorithm Easily to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx&amp;amp;phase=2" target="_blank" title="Submit State Design Pattern Maintain Flow of Algorithm Easily to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/09/state-design-pattern-maintain-flow-of-algorithm-easily.aspx&amp;amp;title=State+Design+Pattern+Maintain+Flow+of+Algorithm+Easily" target="_blank" title="Add State Design Pattern Maintain Flow of Algorithm Easily to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=183518" width="1" height="1"&gt;</description></item><item><title>Creating a Custom Configuration Section in Application Configuration</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx</link><pubDate>Tue, 08 Sep 2009 16:19:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:183511</guid><dc:creator>henryjwr</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=183511</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx#comments</comments><description>&lt;p&gt;When you creating a framework is definitely you must create some custom configuration to handle your application configuration. .NET provide Namespace that we could manipulated or create custom Configuration, “System.Configuration”. For basic usage we could create element and element collection, and wrap it in a configuration section. You could do more advance by Grouping the configuration Section using Configuration Section Group.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/henryjwr/FullConfiguration_772D7D75.png"&gt;&lt;img src="http://netindonesia.net/blogs/henryjwr/FullConfiguration_thumb_602A4C60.png" style="border-width:0px;display:inline;" title="FullConfiguration" alt="FullConfiguration" border="0" height="386" width="264" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Before creating custom configuration, first we must design the configuration file content first. I have a sample it using to inject implementation class to an interface class using reflection.&lt;/p&gt;  &lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;   &lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;     &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;&amp;lt;?&lt;/span&gt;&lt;span&gt;xml&lt;/span&gt; &lt;span&gt;version&lt;/span&gt;&lt;span&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span&gt;encoding&lt;/span&gt;&lt;span&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt; ?&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;configSections&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;section&lt;/span&gt; &lt;span&gt;name&lt;/span&gt;&lt;span&gt;=&amp;quot;CustomMapping&amp;quot;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt;              &lt;span&gt;type&lt;/span&gt;&lt;span&gt;=&amp;quot;ConsoleApplication1.MappingSection, ConsoleApplication1&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;   &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;configSections&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt;   &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CustomMapping&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MappingElements&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;       &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MappingElement&lt;/span&gt; &lt;span&gt;Interface&lt;/span&gt; &lt;span&gt;=&amp;quot;IProduct&amp;quot;&lt;/span&gt; &lt;span&gt;Implementation&lt;/span&gt;&lt;span&gt;=&amp;quot;ConsoleApplication1.Product&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;MappingElements&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;   &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;CustomMapping&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt; &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;In configuration file above we create a custom section name = “CustomMapping” and the type that act as a section class is MappingSection. We define a MappingElement for the basic configuration element and MappingElements for the configuration Element Collection. In the Configuration Element we define two attribute “Interface” and Implementation. That it is we ready to create our custom configuration code.&lt;/p&gt;

&lt;p&gt;1. Creating Configuration Element by inheriting “&lt;i&gt;&lt;b&gt;System.Configuration.ConfigurationElement&lt;/b&gt;&lt;/i&gt;” class.&lt;/p&gt;

&lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span&gt;public&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; MappingElement : ConfigurationElement&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt;         [ConfigurationProperty(&lt;span&gt;&amp;quot;Interface&amp;quot;&lt;/span&gt;, IsKey = &lt;span&gt;true&lt;/span&gt;, IsRequired = &lt;span&gt;true&lt;/span&gt;)]&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; AttributeOne&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;             get { &lt;span&gt;return&lt;/span&gt; (&lt;span&gt;string&lt;/span&gt;)&lt;span&gt;this&lt;/span&gt;[&lt;span&gt;&amp;quot;Interface&amp;quot;&lt;/span&gt;]; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;             set { &lt;span&gt;this&lt;/span&gt;[&lt;span&gt;&amp;quot;Interface&amp;quot;&lt;/span&gt;] = &lt;span&gt;value&lt;/span&gt;; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum13"&gt;  13:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum14"&gt;  14:&lt;/span&gt;         [ConfigurationProperty(&lt;span&gt;&amp;quot;Implementation&amp;quot;&lt;/span&gt;, IsKey = &lt;span&gt;true&lt;/span&gt;, IsRequired = &lt;span&gt;true&lt;/span&gt;)]&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum15"&gt;  15:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; AttributeTwo&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum16"&gt;  16:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum17"&gt;  17:&lt;/span&gt;             get { &lt;span&gt;return&lt;/span&gt; (&lt;span&gt;string&lt;/span&gt;) &lt;span&gt;this&lt;/span&gt;[&lt;span&gt;&amp;quot;Implementation&amp;quot;&lt;/span&gt;]; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum18"&gt;  18:&lt;/span&gt;             set { &lt;span&gt;this&lt;/span&gt;[&lt;span&gt;&amp;quot;Implementation&amp;quot;&lt;/span&gt;] = &lt;span&gt;value&lt;/span&gt;;}&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum19"&gt;  19:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum20"&gt;  20:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum21"&gt;  21:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum22"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In this class we define a property that will exist in our configuration as an Attribute. Each property must state with .NET Attribute “&lt;i&gt;&lt;b&gt;System.Configuration.ConfigurationPropertyAttribute&lt;/b&gt;&lt;/i&gt;”. this class takes Name property for the identity | name of the attribute. and other optional property like whether the attribute is a key, must exist etc. When you have many of attribute that we want to specify you could use a class constant to declare all the name.&lt;/p&gt;

&lt;p&gt;2. Creating Configuration Element Collection by inheriting “&lt;i&gt;&lt;b&gt;System.Configuration.ConfigurationElementCollection&lt;/b&gt;&lt;/i&gt;” class.&lt;/p&gt;

&lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span&gt;public&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; MappingElementCollection : ConfigurationElementCollection&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span&gt;protected&lt;/span&gt; &lt;span&gt;override&lt;/span&gt; ConfigurationElement CreateNewElement()&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;             &lt;span&gt;return&lt;/span&gt; &lt;span&gt;new&lt;/span&gt; MappingElement();&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum13"&gt;  13:&lt;/span&gt;         &lt;span&gt;protected&lt;/span&gt; &lt;span&gt;override&lt;/span&gt; &lt;span&gt;object&lt;/span&gt; GetElementKey(ConfigurationElement element)&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum14"&gt;  14:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum15"&gt;  15:&lt;/span&gt;             &lt;span&gt;return&lt;/span&gt; ((MappingElement)element).AttributeOne;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum16"&gt;  16:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum17"&gt;  17:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum18"&gt;  18:&lt;/span&gt;         &lt;span&gt;protected&lt;/span&gt; &lt;span&gt;override&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; ElementName&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum19"&gt;  19:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum20"&gt;  20:&lt;/span&gt;             get&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum21"&gt;  21:&lt;/span&gt;             {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum22"&gt;  22:&lt;/span&gt;                 &lt;span&gt;return&lt;/span&gt; &lt;span&gt;&amp;quot;MappingElement&amp;quot;&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum23"&gt;  23:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum24"&gt;  24:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum25"&gt;  25:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum26"&gt;  26:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;override&lt;/span&gt; ConfigurationElementCollectionType CollectionType&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum27"&gt;  27:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum28"&gt;  28:&lt;/span&gt;             get&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum29"&gt;  29:&lt;/span&gt;             {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum30"&gt;  30:&lt;/span&gt;                 &lt;span&gt;return&lt;/span&gt; ConfigurationElementCollectionType.BasicMap;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum31"&gt;  31:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum32"&gt;  32:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum33"&gt;  33:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum34"&gt;  34:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; MappingElement &lt;span&gt;this&lt;/span&gt;[&lt;span&gt;int&lt;/span&gt; index]&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum35"&gt;  35:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum36"&gt;  36:&lt;/span&gt;             get { &lt;span&gt;return&lt;/span&gt; &lt;span&gt;this&lt;/span&gt;.BaseGet(index) &lt;span&gt;as&lt;/span&gt; MappingElement; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum37"&gt;  37:&lt;/span&gt;             set {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum38"&gt;  38:&lt;/span&gt;                 &lt;span&gt;if&lt;/span&gt; (&lt;span&gt;this&lt;/span&gt;.BaseGet(index) != &lt;span&gt;null&lt;/span&gt;)&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum39"&gt;  39:&lt;/span&gt;                 {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum40"&gt;  40:&lt;/span&gt;                     &lt;span&gt;this&lt;/span&gt;.BaseRemoveAt(index);&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum41"&gt;  41:&lt;/span&gt;                 }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum42"&gt;  42:&lt;/span&gt;                 &lt;span&gt;this&lt;/span&gt;.BaseAdd(index, &lt;span&gt;value&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum43"&gt;  43:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum44"&gt;  44:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum45"&gt;  45:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum46"&gt;  46:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;new&lt;/span&gt; MappingElement &lt;span&gt;this&lt;/span&gt;[&lt;span&gt;string&lt;/span&gt; interfaceShortName]&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum47"&gt;  47:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum48"&gt;  48:&lt;/span&gt;             get { &lt;span&gt;return&lt;/span&gt; &lt;span&gt;this&lt;/span&gt;.BaseGet(interfaceShortName) &lt;span&gt;as&lt;/span&gt; MappingElement; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum49"&gt;  49:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum50"&gt;  50:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum51"&gt;  51:&lt;/span&gt;     &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum52"&gt;  52:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This class will act as a collection to our Element. First we override CreateNewElement() method, this behavior is to set what element that will be create for this collection in this case we return our element class that have been create before. Next we override GetElementKey() method, this behavior is to retrieve what is the key for the element. This behavior is use when we retrieve element by it is using BaseGet() method. we also override ElementName is for setting the tag name of Element in XML configuration file. Overriding CollectionType to set the type we want to use, in this case we use BasicMap type. When use BasicType the child element child could not override property of its parent property.&lt;/p&gt;

&lt;p&gt;The last two method is very important. This Indexer property is to manipulating element collection to retrieve child element by its index or by name. first Property is act like to add and retrieve collection by its index. and second is shadowing base class indexer and use name index to retrive specific element.&lt;/p&gt;

&lt;p&gt;3. Finally we have to create section class that to handle Section for our custom configuration file. this could achieve by inheriting “&lt;i&gt;&lt;b&gt;System.Configuration.ConfigurationSection&lt;/b&gt;&lt;/i&gt;” class.&lt;/p&gt;

&lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span&gt;public&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; MappingSection : ConfigurationSection&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt;         [ConfigurationProperty(&lt;span&gt;&amp;quot;MappingElements&amp;quot;&lt;/span&gt;,IsDefaultCollection = &lt;span&gt;true&lt;/span&gt;)]&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; MappingElementCollection MappingElements&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;             get { &lt;span&gt;return&lt;/span&gt; (MappingElementCollection) &lt;span&gt;base&lt;/span&gt;[&lt;span&gt;&amp;quot;MappingElements&amp;quot;&lt;/span&gt;]; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum13"&gt;  13:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Basically this class just wrap our element collection. so for simple usage we define a property that return our element collection type. define attribute ConfigurationProperty setting the Element Collection name, and set wheter is default collection or not. &lt;/p&gt;

&lt;p&gt;That it is, we currently finished creating custom configuration file.&lt;/p&gt;

&lt;p&gt;let see how to use our custom configuration file.&lt;/p&gt;

&lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;&amp;lt;?&lt;/span&gt;&lt;span&gt;xml&lt;/span&gt; &lt;span&gt;version&lt;/span&gt;&lt;span&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span&gt;encoding&lt;/span&gt;&lt;span&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt; ?&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;configSections&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;section&lt;/span&gt; &lt;span&gt;name&lt;/span&gt;&lt;span&gt;=&amp;quot;CustomMapping&amp;quot;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt;              &lt;span&gt;type&lt;/span&gt;&lt;span&gt;=&amp;quot;ConsoleApplication1.MappingSection, ConsoleApplication1&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;   &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;configSections&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt;   &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CustomMapping&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MappingElements&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;       &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;MappingElement&lt;/span&gt; &lt;span&gt;Interface&lt;/span&gt; &lt;span&gt;=&amp;quot;IProduct&amp;quot;&lt;/span&gt; &lt;span&gt;Implementation&lt;/span&gt;&lt;span&gt;=&amp;quot;ConsoleApplication1.Product&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;MappingElements&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;   &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;CustomMapping&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt; &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span&gt;internal&lt;/span&gt; &lt;span&gt;interface&lt;/span&gt; IProduct&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span&gt;string&lt;/span&gt; ProductName { get; set; }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum13"&gt;  13:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum14"&gt;  14:&lt;/span&gt;     &lt;span&gt;internal&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; Product : IProduct&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum15"&gt;  15:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum16"&gt;  16:&lt;/span&gt;         &lt;span&gt;private&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; _product;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span&gt;#region&lt;/span&gt; IProduct Members&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum18"&gt;  18:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum19"&gt;  19:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; ProductName&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum20"&gt;  20:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum21"&gt;  21:&lt;/span&gt;             get&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum22"&gt;  22:&lt;/span&gt;             {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum23"&gt;  23:&lt;/span&gt;                 &lt;span&gt;if&lt;/span&gt; (_product == &lt;span&gt;&amp;quot;&amp;quot;&lt;/span&gt; || _product == &lt;span&gt;null&lt;/span&gt;)&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum24"&gt;  24:&lt;/span&gt;                 {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum25"&gt;  25:&lt;/span&gt;                     _product = &lt;span&gt;&amp;quot;Pepsodent&amp;quot;&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum26"&gt;  26:&lt;/span&gt;                 }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum27"&gt;  27:&lt;/span&gt;                 &lt;span&gt;return&lt;/span&gt; _product;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum28"&gt;  28:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum29"&gt;  29:&lt;/span&gt;             set&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum30"&gt;  30:&lt;/span&gt;             {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum31"&gt;  31:&lt;/span&gt;                 _product = &lt;span&gt;value&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum32"&gt;  32:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum33"&gt;  33:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum34"&gt;  34:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum35"&gt;  35:&lt;/span&gt;         &lt;span&gt;#endregion&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum36"&gt;  36:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum37"&gt;  37:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum38"&gt;  38:&lt;/span&gt;     &lt;span&gt;class&lt;/span&gt; Program&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum39"&gt;  39:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum40"&gt;  40:&lt;/span&gt;         &lt;span&gt;static&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Main(&lt;span&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum41"&gt;  41:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum42"&gt;  42:&lt;/span&gt;             MappingSection section = ConfigurationManager.GetSection(&lt;span&gt;&amp;quot;CustomMapping&amp;quot;&lt;/span&gt;) &lt;span&gt;as&lt;/span&gt; MappingSection;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum43"&gt;  43:&lt;/span&gt;             Type type = Type.GetType(section.MappingElements[&lt;span&gt;typeof&lt;/span&gt; (IProduct).Name].AttributeTwo);&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum44"&gt;  44:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum45"&gt;  45:&lt;/span&gt;             IProduct product = Activator.CreateInstance(type) &lt;span&gt;as&lt;/span&gt; IProduct;&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum46"&gt;  46:&lt;/span&gt;             Console.WriteLine(product.ProductName);&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum47"&gt;  47:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum48"&gt;  48:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&amp;#39;Courier New&amp;#39;,courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum49"&gt;  49:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;First we get the section using System.Configuration.ConfigurationManager.GetSection() it takes the name of xml tag name in configuration in this case CustomMapping. when we have reference to section we could use property that we define in the class (MappingElements) that return element collection. we could use int indexer or name indexer to retrive element. in this case we use name indexer and retrieve property AttibuteTwo to retrive the implementation of the interface we want to create the instance (ConsoleApplication1.Product).&lt;/p&gt;

&lt;p&gt;Happy Programming&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx&amp;amp;subject=Creating a Custom Configuration Section in Application Configuration" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx&amp;amp;t=Creating+a+Custom+Configuration+Section+in+Application+Configuration" target="_blank" title="Submit Creating a Custom Configuration Section in Application Configuration to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx&amp;amp;title=Creating+a+Custom+Configuration+Section+in+Application+Configuration" target="_blank" title="Submit Creating a Custom Configuration Section in Application Configuration to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx&amp;amp;phase=2" target="_blank" title="Submit Creating a Custom Configuration Section in Application Configuration to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/09/08/creating-a-custom-configuration-section-in-application-configuration.aspx&amp;amp;title=Creating+a+Custom+Configuration+Section+in+Application+Configuration" target="_blank" title="Add Creating a Custom Configuration Section in Application Configuration to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=183511" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Configuration/default.aspx">Configuration</category></item><item><title>Rileks sejenak...</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx</link><pubDate>Thu, 02 Jul 2009 07:54:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:182201</guid><dc:creator>henryjwr</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=182201</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;img src="http://farm4.static.flickr.com/3609/3629069606_3d1a1cd8fb.jpg" alt="" /&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx&amp;amp;subject=Rileks sejenak..." target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx&amp;amp;t=Rileks+sejenak..." target="_blank" title="Submit Rileks sejenak... to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx&amp;amp;title=Rileks+sejenak..." target="_blank" title="Submit Rileks sejenak... to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx&amp;amp;phase=2" target="_blank" title="Submit Rileks sejenak... to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/rileks-sejenak.aspx&amp;amp;title=Rileks+sejenak..." target="_blank" title="Add Rileks sejenak... to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=182201" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Browser/default.aspx">Browser</category></item><item><title>Windows Internet Explorer 8: Get the facts</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx</link><pubDate>Thu, 02 Jul 2009 07:44:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:182200</guid><dc:creator>henryjwr</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=182200</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx#comments</comments><description>&lt;p&gt;Bagi kalian yang pengen tau komparasi IE8, Firefox dan&amp;nbsp; Chrome..silahkan kunjungi web ini &lt;b&gt;&lt;a href="http://kilianvalkhof.com/ie8fun/"&gt;Windows Internet Explorer 8: Get the facts&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Selamat memilih&lt;/b&gt;. &lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx&amp;amp;subject=Windows Internet Explorer 8: Get the facts" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx&amp;amp;t=Windows+Internet+Explorer+8%3a+Get+the+facts" target="_blank" title="Submit Windows Internet Explorer 8: Get the facts to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx&amp;amp;title=Windows+Internet+Explorer+8%3a+Get+the+facts" target="_blank" title="Submit Windows Internet Explorer 8: Get the facts to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx&amp;amp;phase=2" target="_blank" title="Submit Windows Internet Explorer 8: Get the facts to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/07/02/windows-internet-explorer-8-get-the-facts.aspx&amp;amp;title=Windows+Internet+Explorer+8%3a+Get+the+facts" target="_blank" title="Add Windows Internet Explorer 8: Get the facts to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=182200" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/IE8/default.aspx">IE8</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Browser/default.aspx">Browser</category></item><item><title>Open source CRM for your office or your Client using GWT</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx</link><pubDate>Tue, 09 Jun 2009 14:16:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:181587</guid><dc:creator>henryjwr</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=181587</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx#comments</comments><description>&lt;p&gt;If you crazy enough combine it with &lt;a href="http://wave.google.com/"&gt;Google Wave&lt;/a&gt; you will find that you in the middle of new world .....&lt;a href="http://dev.w3.org/html5/spec/Overview.html"&gt;HTML 5&lt;/a&gt;...&lt;/p&gt;&lt;p&gt;4 supporting Line comunication you could set simple implementation of &lt;a href="http://asterisk.org/"&gt;http://asterisk.org/&lt;/a&gt; (&lt;b&gt;&lt;i&gt;Asterisk is the world&amp;#39;s leading open source PBX&lt;a href="http://www.asterisk.org/taxonomy/term/19" title="PBX: Private Branch eXchange
A PBX is simply a private telephone network, which is used within a company. While the number (called an &amp;quot;extension&amp;quot;) each user uses is unique, all of the users share a single number to the outside world; one that is assigned by the telephone company. A PBX is also usually more cost efficient than connecting each individual telephone to an outside line. In addition, a user must only dial an extension, which is usually several digits shorter than a normal telephone number, to reach the desired party. 

PRI" class="glossary-indicator"&gt;i&lt;/a&gt;,
telephony engine, and telephony applications toolkit. Offering
flexibility unheard of in the world of proprietary communications,
Asterisk empowers developers and integrators to create advanced
communication solutions...for free&lt;/i&gt;&lt;/b&gt;)&lt;/p&gt;&lt;p&gt;Please Checkout this&amp;nbsp; &lt;a href="http://code.google.com/p/queplix/"&gt;http://code.google.com/p/queplix/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;....Happy ....more happy everyday..... &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;These are the feature ....(Great man...)&lt;/p&gt;&lt;p class="bodytext"&gt;&lt;b&gt;QueCore&lt;/b&gt;
– Provides core operational services for the QueWeb system. QueCore
does not contain any customer-specific customizations, business logic
or presentation elements. As such, it contains Java classes and
architecture elements to enable database connectivity, provides
QueWeb’s basic structural components, and includes all required
standard Java libraries and 3&lt;sup&gt;rd&lt;/sup&gt; party components for the
integration with other systems. QueCore utilizes Google’s© Web Toolkit
(GWT) technology and is shared across the QueWeb editions. Small and
medium size companies can now rely on the same platform with
enterprises that successfully run QueWeb.
&lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;QueTask&lt;/b&gt; – Auxiliary QueCore
process, which provides execution of all time-dependent system
processes. This module allows scheduling and execution of reports,
notifications, escalations and external processes (such as SQL scripts
or Stored Procedures for data import/export, UNIX shell scripts or MS
Windows batch jobs) that require execution upon certain time or
conditions. QueTask is responsible for capturing logs from the external
processes as well as passing variables to tasks from the QueWeb
database. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;QueScheduler&lt;/b&gt; – Visual Interface
for the QueTask component; it allows maintaining the schedules for the
QueTask tasks. By default it is available to the system administrator,
permits monitoring of tasks execution, defines variables to be passed,
maintains distribution lists for reports and notifications, etc.
&amp;nbsp;QueScheduler also runs all internal time-dependent functions in
QueWeb, such as escalation triggering, email polling, reports
execution, etc. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Email Routing&lt;/b&gt; – This module
provides a facility to track incoming and outgoing email
communications. It can be used in addition to any standard email
software, i.e. Outlook or Lotus Notes. QueWeb Email module allows
tracking and creating service requests, cases and interactions by
monitoring incoming email for multiple accounts. The email can then be
routed to the appropriate individual or a workgroup, based on the
routing rules. Standard routing rules are keyword-based and can be
triggered depending on the sender, product and category, type of
problem, agent availability or possession of a certain skill or based
on the previous history for the customer. QueWeb Email boasts
additional powerful features such as support for multiple languages,
HTML formatting, text templates, spell checking, attachments parsing,
auto-replies, spam filters and account size control for individual
users. QueWeb can be integrated with Exchange or Notes servers directly
through IMAP, POP3 or SMTP protocols for a real-time synchronization of
email. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Ad-Hoc Report Writer&lt;/b&gt; – Ad-hoc
Report Writer allows users to create and distribute their own reports
on the predefined schedule or in real time. &amp;nbsp;The reports are created
simply by selecting a combination of the GUI field labels on any of the
QueWeb screens. Users can specify constrains (parameters) for the
report by populating the search constraints in the same user interface
which they use to search in QueWeb; thus there is no additional
training required to utilize ad-hoc reporting features in QueWeb.
Ad-Hoc Report Writer will automatically connect all data objects used
in the report and create optimum joints in order to produce complex
queries, grouping and various sorting of the data as requested by the
user. Users can print, save and export reports to MS Office© programs
or create an email distribution list. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;My QueWeb&lt;/b&gt; – By default all users
first see this module upon login. My QueWeb is a collection of
information screens which are relevant to the current user and provide
at-a-glance snapshot of the current work queue and tasks. My QueWeb
consists of My Queue, which combines all incoming Emails, Alerts,
Escalations and Notifications as well as Action requests and system
messages. It is a place from which many standard workflow processes
start. My QueWeb also contains graphical dashboards; depending on the
user’s role (Manager, Support Agent, IT Help Desk, etc.) they provide a
graphical picture of many vital activities that are relevant to the
particular user’s role.&lt;/p&gt;
		
			
		
			
	
		
	
		
		
			&lt;div class="csc-header csc-header-n2"&gt;&lt;h1&gt;Standard Business Modules&lt;/h1&gt;&lt;/div&gt;
		
			
		
			&lt;p class="bodytext"&gt;&lt;b&gt;Interaction and Case Portal&lt;/b&gt;–
All Interactions entered by QueWeb agents are captured in the system,
regardless of the communication channel: email, phone, chat, customer
portal, and fax. Agents have an ability to quickly resolve the issue
using Knowledge Base; otherwise they can further research or
escalate/reassign the issue by creating a Case record from the
Interaction and maintain a follow up with the Customer. A single
interaction can contain several issues and each can be tracked
separately. Customers have access to their previous Cases and
Interactions through the Customer Portal. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Case Management&lt;/b&gt; – Allows the
system administrator or Customer Support Agents to create and perform
various maintenance activities with Cases. These include: archiving
based on the predefined time expiration or conditions, time and
statistical metrics maintenance, workflow propagation, user
participation in activities and Case loads, notifications and
escalations based on the predefined conditions, etc, designating data
elements for the Audit control. Workflow Management module is designed
to facilitate complex business processes around Cases to ensure the
timely and effective resolution and creating an overall satisfying
customer experience. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Knowledge Management&lt;/b&gt; – This module
allows the system administrator to manage the Knowledge base options.
The Knowledge base management consists of defining options for
Solutions, their usage in Cases, Solution expiration time, Solution
user roles definitions (authoring, reviewing, publishing, archiving,
and removal). &amp;nbsp;Solution publishing workflow goes through Draft, Review,
Internal, Published and Expired modes while the system monitors
corresponding dates, solutions which are not used and notifying
Solution Authors to review those that are expired. Solutions can also
be published as FAQs for the Customers’ use on the Customer Portal.
Customers also have ability to troubleshoot issues by accessing allowed
resolutions, which pertain to their products. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Product Management&lt;/b&gt; – Allows creating and maintaining various levels of the Product and Product Components. 
&lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Customer Management&lt;/b&gt; – Provides
maintenance of Customer and Organizational records, as well as their
relationships with the company’s employees. Customers can be
distinguished as external or internal to the Company. Customers can
edit their personal records through the Customer Portal. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Email Management&lt;/b&gt; – This module
allows processing incoming and outgoing email communications through
email routing rules. These rules are used to create Cases from incoming
emails and to determine Case assignments to the appropriate employees
with specific skills or other criteria, i.e. assign to the Agent who
last handled this Customer, or has specific experience with the
Customer’s Product. This module also allows management of the Inbox and
Outbox for each user (size, frequency of polling, MS Exchange accounts,
etc). QueWeb Email module can be integrated with Exchange or other
Groupware Servers using included connector, IMAP, POP or SMTP
protocols. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Logs Management&lt;/b&gt; – Monitors and
allows browsing for the system and error logs. Several levels of
verboseness can be set. Using this module, the system administrator can
configure Email Notifications or Alerts when predefined events or
system errors occur. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;User Management&lt;/b&gt; – The system
administrator can utilize this module to create and maintain User
accounts and Customer accounts for the Customer Portal access. Login
IDs and encrypted passwords can also be set or reset. Single sign-on
feature for Microsoft Windows Server is pre-built in QueWeb with LDAP
look up and authentication. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Access Control Module&lt;/b&gt; – QueWeb
leverages a sophisticated application-driven permissions access
mechanism: All users are organized in Work Groups, which can be
associated with appropriate User Roles (i.e. Administrator, Power User,
Solution Approver, Analyst, Manager, etc.) Based on these associations,
the system provides several levels of access: No Access, Read Only,
Write, Delete to any modular component of the system: Focus, Tab, Form
or even data element (data field). &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Escalations and Notifications Module&lt;/b&gt;
– The QueWeb system enforces compliance with dynamic workflow processes
by using Escalations and Notifications mechanism. Notifications can be
email, page or broadcast messages, which occur based on predefined
workflow conditions (conditions can be customized to reflect specific
workflows). Escalations are time-dependent, and can be triggered upon
meeting predefined logical conditions and fire after a set time period.
For example, escalation conditions can be based on the status of the
Case: Send an email to the Case Analyst if the Case is &lt;i&gt;Not Closed &lt;/i&gt;within 30 minutes after its creation time and, as a second-tier escalation, escalate the Case to the Manager if a Case is &lt;i&gt;Not Updated &lt;/i&gt;within 1 hour. 
&lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;Auditing Module&lt;/b&gt; – This module
allows designating certain fields to be audited. Users with proper
permissions can view the history of all changes for the Audited record
with timestamp, user name, old and new values. &lt;/p&gt;
&lt;p class="bodytext"&gt;&lt;b&gt;System Properties Module&lt;/b&gt; –the
System Properties module allows dynamic management of the System
Properties throughout the application. The customer’s system
administrator can change any variables using this module. The System
Properties tab also contains Out Of the Box all necessary variables to
start working in the system after the initial installation: the name of
the SMTP server, default email account, locks timeout and other global
and system settings.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx&amp;amp;subject=Open source CRM for your office or your Client using GWT" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx&amp;amp;t=Open+source+CRM+for+your+office+or+your+Client+using+GWT" target="_blank" title="Submit Open source CRM for your office or your Client using GWT to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx&amp;amp;title=Open+source+CRM+for+your+office+or+your+Client+using+GWT" target="_blank" title="Submit Open source CRM for your office or your Client using GWT to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx&amp;amp;phase=2" target="_blank" title="Submit Open source CRM for your office or your Client using GWT to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/09/open-source-crm-for-you-office-or-your-client-using-gwt.aspx&amp;amp;title=Open+source+CRM+for+your+office+or+your+Client+using+GWT" target="_blank" title="Add Open source CRM for your office or your Client using GWT to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=181587" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/GWT/default.aspx">GWT</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/CRM/default.aspx">CRM</category></item><item><title>Could you imagine What happen with Information Technology 10 years to come?</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx</link><pubDate>Mon, 08 Jun 2009 07:10:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:181555</guid><dc:creator>henryjwr</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=181555</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx#comments</comments><description>&lt;p&gt;This is the very classical question among us that work based on IT environtment?&amp;nbsp;&lt;/p&gt;&lt;p&gt;Please feel free you add comment 4 this....&lt;/p&gt;&lt;p&gt;Thanks &lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx&amp;amp;subject=Could you imagine What happen with Information Technology 10 years to come?" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx&amp;amp;t=Could+you+imagine+What+happen+with+Information+Technology+10+years+to+come%3f" target="_blank" title="Submit Could you imagine What happen with Information Technology 10 years to come? to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx&amp;amp;title=Could+you+imagine+What+happen+with+Information+Technology+10+years+to+come%3f" target="_blank" title="Submit Could you imagine What happen with Information Technology 10 years to come? to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx&amp;amp;phase=2" target="_blank" title="Submit Could you imagine What happen with Information Technology 10 years to come? to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/08/could-you-imagine-what-happen-with-information-technology-10-years-to-come.aspx&amp;amp;title=Could+you+imagine+What+happen+with+Information+Technology+10+years+to+come%3f" target="_blank" title="Add Could you imagine What happen with Information Technology 10 years to come? to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=181555" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Future/default.aspx">Future</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/IT/default.aspx">IT</category></item><item><title>Be prepare 4 new Web Standard from W3C...</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx</link><pubDate>Sun, 07 Jun 2009 16:33:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:181540</guid><dc:creator>henryjwr</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=181540</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx#comments</comments><description>&lt;p&gt;The new standard will become more crazy than HTML 5....&lt;/p&gt;&lt;p&gt;The issue is 4 more comfortable adaptable standard 4 supporting RIA. like 3D support, ebeded RPC and more granular implementation code over HTML. &amp;nbsp; &lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx&amp;amp;subject=Be prepare 4 new Web Standard from W3C..." target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx&amp;amp;t=Be+prepare+4+new+Web+Standard+from+W3C..." target="_blank" title="Submit Be prepare 4 new Web Standard from W3C... to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx&amp;amp;title=Be+prepare+4+new+Web+Standard+from+W3C..." target="_blank" title="Submit Be prepare 4 new Web Standard from W3C... to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx&amp;amp;phase=2" target="_blank" title="Submit Be prepare 4 new Web Standard from W3C... to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/be-prepare-4-new-web-standard-from-w3c.aspx&amp;amp;title=Be+prepare+4+new+Web+Standard+from+W3C..." target="_blank" title="Add Be prepare 4 new Web Standard from W3C... to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=181540" width="1" height="1"&gt;</description></item><item><title>What an Amazing HTML 5....wow..</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx</link><pubDate>Sat, 06 Jun 2009 17:55:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:181521</guid><dc:creator>henryjwr</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=181521</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx#comments</comments><description>&lt;p&gt;If you look &lt;a href="http://www.youtube.com/watch?v=S5aJAaGZIvk&amp;amp;eurl=http%3A%2F%2Fcode.google.com%2Fevents%2Fio%2F&amp;amp;feature=player_embedded"&gt;Google I/O&lt;/a&gt; at YouTube &amp;nbsp; &lt;/p&gt;&lt;p&gt;They demonstration about using Google Web Element an copy and paste to embedded dynamic web element to our web...wow.&lt;/p&gt;&lt;p&gt;I love google wow...again...thank u so much....as a programmer ad users &lt;/p&gt;&lt;p&gt;&lt;b&gt;Calendar&lt;/b&gt; &lt;/p&gt;&lt;p&gt;
&lt;iframe src="http://www.google.com/calendar/embed?mode=AGENDA&amp;amp;showTitle=0&amp;amp;showTabs=0&amp;amp;showPrint=0&amp;amp;showCalendars=0&amp;amp;wkst=1&amp;amp;element=true&amp;amp;src=usa__en%40holiday.calendar.google.com" style="border:0pt none;margin:0pt;width:300px;height:300px;" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p&gt;
&lt;iframe src="http://spreadsheets.google.com/pub?output=html&amp;amp;widget=true&amp;amp;single=true&amp;amp;element=true&amp;amp;gid=0&amp;amp;key=rNB2i1-CVSmpCxOX-AtJjJA" style="border:0pt none;margin:0pt;width:720px;height:360px;" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Google Presentation&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;
&lt;iframe src="http://docs.google.com/EmbedSlideshow?id=dd2bw77j_06g867zg3&amp;amp;element=true" style="border:0pt none;margin:0pt;width:410px;height:342px;" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p style="font-weight:bold;"&gt;Google Conversation&lt;/p&gt;&lt;p style="font-weight:bold;"&gt;
&lt;iframe src="http://www.google.com/friendconnect/discuss?scope=web&amp;amp;topic=HTML%205" style="border:0pt none;margin:0pt;width:250px;height:440px;" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p style="font-weight:bold;"&gt;Google Maps&lt;/p&gt;&lt;p style="font-weight:bold;"&gt;
&lt;iframe src="http://www.google.com/uds/modules/elements/mapselement/iframe.html?maptype=terrain&amp;amp;latlng=-6.197728320014506%2C106.85148239135742&amp;amp;mlatlng=-6.211544%2C106.845172&amp;amp;maddress1=Djakarta&amp;amp;maddress2=Indonesia&amp;amp;zoom=13&amp;amp;mtitle=Djakarta" style="border:0pt none;margin:0pt;width:300px;height:250px;" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;


&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx&amp;amp;subject=What an Amazing HTML 5....wow.." target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx&amp;amp;t=What+an+Amazing+HTML+5....wow.." target="_blank" title="Submit What an Amazing HTML 5....wow.. to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx&amp;amp;title=What+an+Amazing+HTML+5....wow.." target="_blank" title="Submit What an Amazing HTML 5....wow.. to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx&amp;amp;phase=2" target="_blank" title="Submit What an Amazing HTML 5....wow.. to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/06/07/what-an-amazing-html-5-wow.aspx&amp;amp;title=What+an+Amazing+HTML+5....wow.." target="_blank" title="Add What an Amazing HTML 5....wow.. to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=181521" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Google/default.aspx">Google</category></item><item><title>I love Google, by the way they "giving" their product.</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx</link><pubDate>Mon, 25 May 2009 04:53:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:177596</guid><dc:creator>henryjwr</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=177596</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx#comments</comments><description>&lt;p&gt;It is very supprising that if the world without google, right now. They have very common in our live.&lt;/p&gt;&lt;p&gt;Living as developer i&amp;#39;m also interesting to live among many other who live side by side using Google.&lt;/p&gt;&lt;p&gt;Starting using GWT on my new product, it&amp;#39;s very nice journey, just like you feel &amp;quot;ah this is what i&amp;#39;m looking 4&amp;quot;&lt;/p&gt;&lt;p&gt;More deep i&amp;#39;m looking arround about it, it seem that &amp;quot;Everything is connected well&amp;quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Satifaction Programmers &lt;br /&gt;&lt;/p&gt;Henri S &lt;br /&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx&amp;amp;subject=I love Google, by the way they &amp;quot;giving&amp;quot; their product." target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx&amp;amp;t=I+love+Google%2c+by+the+way+they+%26quot%3bgiving%26quot%3b+their+product." target="_blank" title="Submit I love Google, by the way they &amp;quot;giving&amp;quot; their product. to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx&amp;amp;title=I+love+Google%2c+by+the+way+they+%26quot%3bgiving%26quot%3b+their+product." target="_blank" title="Submit I love Google, by the way they &amp;quot;giving&amp;quot; their product. to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx&amp;amp;phase=2" target="_blank" title="Submit I love Google, by the way they &amp;quot;giving&amp;quot; their product. to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/25/i-love-google-by-the-way-they-quot-giving-quot-their-product.aspx&amp;amp;title=I+love+Google%2c+by+the+way+they+%26quot%3bgiving%26quot%3b+their+product." target="_blank" title="Add I love Google, by the way they &amp;quot;giving&amp;quot; their product. to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=177596" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Google/default.aspx">Google</category></item><item><title>So far so good</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx</link><pubDate>Fri, 01 May 2009 03:39:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:115309</guid><dc:creator>henryjwr</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=115309</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx#comments</comments><description>&lt;p&gt;Trying Windows 7 Ultimate Edition. Majority this product is enchament Windows Vista Core. Microsoft not just increase user experience but also increase functionality for rendering and theming. There is also significant improvement on Memory management. So far there are little annoying that comes with Windows 7, if we the CPU Usage is high / peak then the performance of overall windows will be dramatically decrease (maybe this will be gone in the True Release of Win 7 &lt;img src="http://geeks.netindonesia.net/emoticons/emotion-11.gif" alt="Cool" /&gt;). &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx&amp;amp;subject=So far so good" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx&amp;amp;t=So+far+so+good" target="_blank" title="Submit So far so good to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx&amp;amp;title=So+far+so+good" target="_blank" title="Submit So far so good to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx&amp;amp;phase=2" target="_blank" title="Submit So far so good to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/05/01/so-far-so-good.aspx&amp;amp;title=So+far+so+good" target="_blank" title="Add So far so good to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=115309" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Did Microsoft facing "Dead" soon?</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx</link><pubDate>Wed, 15 Apr 2009 15:29:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:96642</guid><dc:creator>henryjwr</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=96642</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx#comments</comments><description>&lt;p&gt;
 
  Normal
  0
  
  
  
  
  false
  false
  false
  
  IN
  X-NONE
  X-NONE
  
   
   
   
   
   
   
   
   
   
   
   
  
  MicrosoftInternetExplorer4
  
   
   
   

   
   
   
   
   
   
   
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 




 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:&amp;quot;Table Normal&amp;quot;;
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:&amp;quot;&amp;quot;;
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;}

Hi Comrad,&lt;/p&gt;

&lt;p&gt;This question is 4 everybody who enjoy live behind microsoft infrastructure.
Also&amp;nbsp; 4 everybody who playing around with Mr MIC background. I didn&amp;#39;t knew
about bussiness i just seek about tech and solution.&lt;/p&gt;

&lt;p&gt;Some people has mention that there is a dead road map and more slower
progress to anothers that happen on microsoft platform. Since the glory of XP
and 2000 platforms threre no other heroic moment that bring full enjoying live
within Microsoft way. Many product that has been lunching but is very difficult
4 other to follow the right track. we didn&amp;#39;t talk about enchament only in
enterprise we also talk about stability, and future adoption.I don&amp;#39;t want to
compare it with other Microsoft competitor. Everyone of them have their own
characteristics.&lt;/p&gt;

&lt;p&gt;When i talk with several of my comrades that live outside Microsoft
boundary, they will show their grow of satisfaction, building from small
adaption to larger enterprise. They will takl about thousand resources that already
setting up.They sometime also seek other solution but most of them just to
justify that their platform already supporting them not to move arround.&lt;/p&gt;

&lt;p&gt;IT Product is like glasses its fragile. They often obsolate frequently. and
everyone could fill it with anything. Microsoft often release a glowing
glasses. Everybody are enjoy to see it 4 the begining. Hoping that it would be
the long lasting artifact that could bring them to a party of heaven. But there
always but in global industry since Mr G aka Google comes to joining the party.
Mr G paradigma is only to Served their users. you dont have to worry about
paying your but to sit down on fire. But Mr G always talk future are as simple
as right now. you dont have to worry about replacing your &amp;quot;car&amp;quot; while
you want to increase the speed.&lt;/p&gt;

&lt;p&gt;As a person i dont want to see Mr Mic to die slow or walking to the grave
yard also. I want it Mr Mic to more Stable and give a glass that not always
glowing but also full with water of enjoy, everybody who drink it become more
confident that this water like a tonic give us more energy to stand among the
crowd.&lt;/p&gt;

&lt;p&gt;Simple as a sugestion did Windows 7 and it supported family could do that, or
is just a begining of a &amp;quot;Dead Ceremony&amp;quot;? .....&amp;nbsp; &lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;


&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx&amp;amp;subject=Did Microsoft facing &amp;quot;Dead&amp;quot; soon?" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx&amp;amp;t=Did+Microsoft+facing+%26quot%3bDead%26quot%3b+soon%3f" target="_blank" title="Submit Did Microsoft facing &amp;quot;Dead&amp;quot; soon? to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx&amp;amp;title=Did+Microsoft+facing+%26quot%3bDead%26quot%3b+soon%3f" target="_blank" title="Submit Did Microsoft facing &amp;quot;Dead&amp;quot; soon? to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx&amp;amp;phase=2" target="_blank" title="Submit Did Microsoft facing &amp;quot;Dead&amp;quot; soon? to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/04/15/did-microsoft-facing-quot-dead-quot-soon.aspx&amp;amp;title=Did+Microsoft+facing+%26quot%3bDead%26quot%3b+soon%3f" target="_blank" title="Add Did Microsoft facing &amp;quot;Dead&amp;quot; soon? to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=96642" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Future/default.aspx">Future</category></item><item><title>NCommon Nice to look</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx</link><pubDate>Mon, 23 Feb 2009 09:09:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:84803</guid><dc:creator>henryjwr</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=84803</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx#comments</comments><description>&lt;p&gt;Kalo kalian seneng sama Architecture or DDD ini ada contoh implementasinya di &lt;a href="http://www.codeplex.com/ncommon" target="_blank"&gt;http://www.codeplex.com/ncommon&lt;/a&gt;&lt;/p&gt;&lt;div id="ctl00_ctl00_MasterContent_Content_WikiContent" class="WikiContent"&gt;
            &lt;span id="ctl00_ctl00_MasterContent_Content_wikiSourceLabel"&gt;&lt;div class="wikidoc"&gt;
&lt;b&gt;NCommon Project&lt;/b&gt;&lt;br /&gt;NCommon is a library that contains
implementations of commonly used design patterns when developing
applications. So far NCommon provides the following:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Framework for implementing a Unit of Work Pattern&lt;/li&gt;&lt;li&gt;Framework for implementing a Repository pattern that utilizes Linq&lt;/li&gt;&lt;li&gt;Framework for implementing a Validations and Business Rules&lt;/li&gt;&lt;li&gt;Implementation of the Specification pattern using Expressions&lt;/li&gt;&lt;li&gt;Utility
class to help store application specific data in the Thread Local
Storage / Current Web Request and AppDomain Level Storage&lt;/li&gt;&lt;li&gt;A
Guard class that mimics common guard statements that verify parameter
values and throws exceptions if values are not acceptable.&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;/span&gt;
        &lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx&amp;amp;subject=NCommon Nice to look" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx&amp;amp;t=NCommon+Nice+to+look" target="_blank" title="Submit NCommon Nice to look to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx&amp;amp;title=NCommon+Nice+to+look" target="_blank" title="Submit NCommon Nice to look to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx&amp;amp;phase=2" target="_blank" title="Submit NCommon Nice to look to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/23/ncommon-nice-to-look.aspx&amp;amp;title=NCommon+Nice+to+look" target="_blank" title="Add NCommon Nice to look to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=84803" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/DDD/default.aspx">DDD</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/NCommon/default.aspx">NCommon</category></item><item><title>Programming Entity Framework Ebook</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx</link><pubDate>Wed, 18 Feb 2009 06:36:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:84630</guid><dc:creator>henryjwr</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=84630</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx#comments</comments><description>&lt;p&gt;Gile Kasian banget nih buku baru keluar 5 hari yang lalu udah ada bajakannya &lt;img src="http://geeks.netindonesia.net/emoticons/emotion-14.gif" alt="Devil" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://oreilly.com/catalog/9780596520281/" title="http://oreilly.com/catalog/9780596520281/" target="_blank"&gt;http://oreilly.com/catalog/9780596520281/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Kalo mau bukunya kasih komen yee@#$.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;We can stolen any thing 4 exploration &lt;img src="http://geeks.netindonesia.net/emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx&amp;amp;subject=Programming Entity Framework Ebook" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx&amp;amp;t=Programming+Entity+Framework+Ebook" target="_blank" title="Submit Programming Entity Framework Ebook to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx&amp;amp;title=Programming+Entity+Framework+Ebook" target="_blank" title="Submit Programming Entity Framework Ebook to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx&amp;amp;phase=2" target="_blank" title="Submit Programming Entity Framework Ebook to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/18/programming-entity-framework-ebook.aspx&amp;amp;title=Programming+Entity+Framework+Ebook" target="_blank" title="Add Programming Entity Framework Ebook to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=84630" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Ebook/default.aspx">Ebook</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Programming+Entity+Framework/default.aspx">Programming Entity Framework</category></item><item><title>Our Geeks.NetIndonesia in Wordle</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx</link><pubDate>Wed, 11 Feb 2009 03:13:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:84406</guid><dc:creator>henryjwr</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=84406</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;a href="http://www.wordle.net/thumb/wrdl/529656/http%3A--geeks.netindonesia.net-blogs-" title="Wordle"&gt;&lt;img src="http://www.wordle.net/thumb/wrdl/529656/http%3A--geeks.netindonesia.net-blogs-" alt="Worldle" width="160" align="texttop" border="" height="120" hspace="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;a href="http://s482.photobucket.com/albums/rr190/henryjwr/General/?action=view&amp;amp;current=geekworldle-1.jpg" target="_blank"&gt;&lt;img src="http://i482.photobucket.com/albums/rr190/henryjwr/General/geekworldle-1.jpg" alt="Photobucket" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;

&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx&amp;amp;subject=Our Geeks.NetIndonesia in Wordle" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx&amp;amp;t=Our+Geeks.NetIndonesia+in+Wordle" target="_blank" title="Submit Our Geeks.NetIndonesia in Wordle to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx&amp;amp;title=Our+Geeks.NetIndonesia+in+Wordle" target="_blank" title="Submit Our Geeks.NetIndonesia in Wordle to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx&amp;amp;phase=2" target="_blank" title="Submit Our Geeks.NetIndonesia in Wordle to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/11/our-geeks-netindonesia-in-wordle.aspx&amp;amp;title=Our+Geeks.NetIndonesia+in+Wordle" target="_blank" title="Add Our Geeks.NetIndonesia in Wordle to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=84406" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/Wordle/default.aspx">Wordle</category></item><item><title>System.Model.IGolput ??</title><link>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx</link><pubDate>Mon, 09 Feb 2009 08:38:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:84353</guid><dc:creator>henryjwr</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/henryjwr/rsscomments.aspx?PostID=84353</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx#comments</comments><description>&lt;p&gt;Hihihi bagaimana Implementasi Classnya  ya ??? hayoo
&lt;/p&gt;&lt;p&gt;&lt;a href="http://s482.photobucket.com/albums/rr190/henryjwr/?action=view&amp;amp;current=IGolput.jpg"&gt;&lt;img src="http://geeks.netindonesia.net/blogs/henryjwr/020909_0831_SystemModel1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx&amp;amp;subject=System.Model.IGolput ??" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx&amp;amp;t=System.Model.IGolput+%3f%3f" target="_blank" title="Submit System.Model.IGolput ?? to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx&amp;amp;title=System.Model.IGolput+%3f%3f" target="_blank" title="Submit System.Model.IGolput ?? to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx&amp;amp;phase=2" target="_blank" title="Submit System.Model.IGolput ?? to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/henryjwr/archive/2009/02/09/system-model-igolput.aspx&amp;amp;title=System.Model.IGolput+%3f%3f" target="_blank" title="Add System.Model.IGolput ?? to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=84353" width="1" height="1"&gt;</description><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/IGolput/default.aspx">IGolput</category><category domain="http://geeks.netindonesia.net/blogs/henryjwr/archive/tags/relax/default.aspx">relax</category></item></channel></rss>
