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

<channel>
	<title>Gael Duhamel [MVP]</title>
	<atom:link href="http://www.gaelduhamel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gaelduhamel.com</link>
	<description>SharePoint dude &#38; Commerce Server expert</description>
	<lastBuildDate>Mon, 28 Mar 2011 22:40:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>Linq provider for CommerceServer : thanks to CSMetal !</title>
		<link>http://www.gaelduhamel.com/linq-provider-for-commerceserver-thanks-to-csmetal/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linq-provider-for-commerceserver-thanks-to-csmetal</link>
		<comments>http://www.gaelduhamel.com/linq-provider-for-commerceserver-thanks-to-csmetal/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 22:36:00 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Linq]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=507</guid>
		<description><![CDATA[Il y a déjà quelques semaines, Kerry Havas, Architecte Produit Commerce Server, a publié la version 2 de CSMetal.
Qu’est-ce que CSMetal ? C’est un utilitaire pour Commerce Server qui génère des classes fortement typées utilisable à travers un provider LINQ basé sur l’API Commerce Foundation => ie, ça ne remplace pas l’API Commerce Foundation !
Kerry frappe fort avec CSMetal, car le développement sous Commerce Server devient un “jeu d’enfant”!]]></description>
				<content:encoded><![CDATA[<p>A couple of weeks ago, <a title="E-Commerce Product Architecture" href="http://blogs.msdn.com/b/khavas/" rel="friend" target="_blank">Kerry Havas</a>, Microsoft Commerce Server Product Architect, has released the <a href="http://archive.msdn.microsoft.com/csmetal" target="_blank">second version of CSMetal</a>.</p>
<p>What is CSMetal? It’s a free tool for Commerce Server which generates strongly typed classes called by a dedicated Linq provider based on the <a href="http://msdn.microsoft.com/en-us/library/dd328457(CS.90).aspx" target="_blank">Commerce Foundation API</a> =&gt; ie, that do not replace the Commerce Foundation API!</p>
<p><strong>Kerry did a very well job with CSMetal as the development becomes very easy for all developers who don’t know Commerce Server! </strong></p>
<p>Before using the Linq provider for Commerce Server we have to generate the entities with the CSMetal command line.</p>
<p>You need to have:</p>
<ul>
<li>Le <a title="Commerce Foundation Channel Configuration" href="http://msdn.microsoft.com/en-us/library/dd464401(CS.90).aspx" target="_blank">ChannelConfiguration.config</a> file correctly configured
<ul>
<li>Please, check that the useSharedCommerceContexts attribute is set to false. </li>
<li>Add to the message handler node with an attribute name called &quot;CommerceQueryOperation_CommerceEntityDefinition&quot; the below nodes: </li>
</ul>
</li>
</ul>
<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: &#39;Courier New&#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">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #008000">&lt;!-- Note that RepositoryMetadataLoader is replaced by a slightly customized one --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">Component</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;RepositoryMetadataLoader&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Microsoft.Commerce.Metal.Generator.OperationSequenceComponents.RepositoryMetadataLoader, Microsoft.Commerce.Metal.Generator, Version=1.0.0.0, Culture=neutral&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span> <span style="color: #008000">&lt;!-- Note that this is added to add overlay capability to the Metadata repository --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">Component</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;MetadataOverlayProcessor&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Microsoft.Commerce.Metal.Generator.OperationSequenceComponents.MetadataOverlayProcessor, Microsoft.Commerce.Metal.Generator, Version=1.0.0.0, Culture=neutral&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
</p></div>
</div>
<ul>
<ul>
<ul>
<li>Note that the last child node allows you roughly to generate new entity or add new attribute to existing entity. More details below. </li>
</ul>
</ul>
<li><a title="Commerce Foundation Metadata Repository Design" href="http://msdn.microsoft.com/en-us/library/dd452304(v=cs.90).aspx" target="_blank">MetadataDefinitions.xml</a> file correctly configured&#160;
<ul>
<li>Add to the RelationshipTypes node, a child one:
<ul>
<li>&lt;RelationshipType name=&quot;Inherits&quot;/&gt; </li>
</ul>
</li>
<li>Review the “CSMetal_Beta2_ReadMe.rtf” file, and see that we have to add 2 new entities:
<ul>
<li>Basket
<ul>
<li>Order status enumeration </li>
</ul>
</li>
<li>Ads
<ul>
<li>Size enumeration for the ads </li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>The famous <a href="http://msdn.microsoft.com/en-us/library/aa545519(v=CS.70).aspx" target="_blank">OrderObjectMappings.xml</a> and <a href="http://msdn.microsoft.com/en-us/library/ms962762(v=cs.70).aspx" target="_blank">OrderPipelineMappings.xml</a> files, properly configured. </li>
</ul>
<p>Put all the beyond dedicated Commerce Server files in a directory, and add some files to the proper execution of CSMetal:</p>
<ul>
<li>CSMetal.exe <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.gaelduhamel.com/wp-content/uploads/2011/03/wlEmoticon-smile.png" /> </li>
<li>CSMetal.exe.config which is roughly a copy of the web.config of your web.application </li>
<li>GeneratorSettings.xml which allows you to define the output directory for the generated assemblies. And cherry on the cake with your own namespace! </li>
<li>Microsoft.Commerce.Metal.Generator.dll for the code generation. </li>
</ul>
<p>So, at the end you will have:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2011/03/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2011/03/image_thumb.png" width="304" height="111" /></a></p>
<p>As explained beyond, Kerry introduces a new concept called “MetaDataOverlays”:</p>
<ul>
<li>You can extand your metadata with an external file and do not apply any modification to the MetaDataDefinition.xml file. That allows you to keep the MetaDataDefinition as a repository and the overlays files. This provides a way to manage the changes you have made to the metadata by keeping it in a separate file. </li>
</ul>
<p>Just add a new xml file called Metadata_CSMetal.xml in a new directory called MetadataOverlays </p>
<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: &#39;Courier New&#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">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">&lt;?</span><span style="color: #800000">xml</span> <span style="color: #ff0000">version</span><span style="color: #0000ff">=&quot;1.0&quot;</span> <span style="color: #ff0000">encoding</span><span style="color: #0000ff">=&quot;utf-8&quot;</span> ?<span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> <span style="color: #008000">&lt;!-- </span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span> <span style="color: #008000">This file contains the Metadata Repository</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span> <span style="color: #008000">--&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">MetadataDefinitions</span> <span style="color: #ff0000">xmlns</span><span style="color: #0000ff">=&quot;urn:schemas-microsoft-multi-channel-commerce-foundation-metadata&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>     <span style="color: #0000ff">&lt;</span><span style="color: #800000">DefaultChannel</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>         <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntities</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>             <span style="color: #008000">&lt;!-- Added for Linq based Search --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;CatalogEntity&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Catalog Entity&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Properties</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Phrase&quot;</span>    <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;String&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Phrase&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ReturnTypes&quot;</span>    <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;Integer&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Return Types&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17">  17:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18">  18:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;FirstItem&quot;</span>    <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;Integer&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19">  19:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;First Item&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20">  20:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21">  21:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;WhereClause&quot;</span>    <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;String&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22">  22:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Where Clause&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23">  23:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24">  24:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;TotalItemCount&quot;</span>    <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;Integer&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25">  25:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Total Item Count&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum26">  26:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum27">  27:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ResultsPerPage&quot;</span>    <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;Integer&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum28">  28:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Results Per Page&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum29">  29:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum30">  30:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Properties</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum31">  31:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum32">  32:</span>             <span style="color: #008000">&lt;!-- Added for Linq based Search --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum33">  33:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum34">  34:</span>             <span style="color: #008000">&lt;!-- Catalog Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum35">  35:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Catalog&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum36">  36:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum37">  37:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;DependantCatalogs&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;Catalog&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum38">  38:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Dependant Catalogs&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum39">  39:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationship</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum40">  40:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;SourceCatalogs&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;Catalog&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum41">  41:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Source Catalogs&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum42">  42:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationship</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum43">  43:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum44">  44:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum45">  45:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum46">  46:</span>             <span style="color: #008000">&lt;!-- CreditCard Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum47">  47:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;CreditCard&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum48">  48:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum49">  49:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Inherits&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;false&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum50">  50:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationship</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum51">  51:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum52">  52:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum53">  53:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum54">  54:</span>             <span style="color: #008000">&lt;!-- Basket Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum55">  55:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Basket&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum56">  56:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum57">  57:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;LineItems&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;LineItem&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum58">  58:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Addresses&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;Address&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum59">  59:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Payments&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;Payment&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum60">  60:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Shipments&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;Shipment&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum61">  61:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;RequestedPromoCodes&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;RequestedPromoCode&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum62">  62:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum63">  63:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum64">  64:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum65">  65:</span>             <span style="color: #008000">&lt;!-- ShopperList Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum66">  66:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ShopperList&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum67">  67:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum68">  68:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;LineItems&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;LineItem&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum69">  69:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum70">  70:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum71">  71:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum72">  72:</span>             <span style="color: #008000">&lt;!-- LineItem Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum73">  73:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;LineItem&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum74">  74:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum75">  75:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ItemLevelDiscounts&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;Discount&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum76">  76:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum77">  77:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum78">  78:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum79">  79:</span>             <span style="color: #008000">&lt;!-- CashCard Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum80">  80:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;CashCard&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum81">  81:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum82">  82:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Inherits&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;false&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum83">  83:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationship</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum84">  84:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum85">  85:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum86">  86:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum87">  87:</span>             <span style="color: #008000">&lt;!-- GiftCertificate Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum88">  88:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;GiftCertificate&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum89">  89:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum90">  90:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Inherits&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;false&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum91">  91:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationship</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum92">  92:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum93">  93:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum94">  94:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum95">  95:</span>             <span style="color: #008000">&lt;!-- Shipment Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum96">  96:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Shipment&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum97">  97:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum98">  98:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;ShippingMethod&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;ShippingMethod&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;false&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum99">  99:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum100"> 100:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum101"> 101:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum102"> 102:</span>             <span style="color: #008000">&lt;!-- Payment Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum103"> 103:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum104"> 104:</span>             <span style="color: #008000">&lt;!-- PaymentAccount Start --&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum105"> 105:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum106"> 106:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Properties</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum107"> 107:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Id&quot;</span> <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;String&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum108"> 108:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Id&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum109"> 109:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">Description</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Unique ID of the payment.&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum110"> 110:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum111"> 111:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;CustomerName&quot;</span> <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;String&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum112"> 112:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;CustomerName&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum113"> 113:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">Description</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Name of Customer.&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum114"> 114:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum115"> 115:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;BillingAddressId&quot;</span> <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;String&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum116"> 116:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;BillingAddressId&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum117"> 117:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">Description</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;Id of billing address&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum118"> 118:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum119"> 119:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Property</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;DisplayName&quot;</span> <span style="color: #ff0000">dataType</span><span style="color: #0000ff">=&quot;String&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum120"> 120:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">DisplayName</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;DisplayName&quot;</span><span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum121"> 121:</span>                         <span style="color: #0000ff">&lt;</span><span style="color: #800000">Description</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">=&quot;DisplayName.&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum122"> 122:</span>                     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Property</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum123"> 123:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Properties</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum124"> 124:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum125"> 125:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;PaymentMethod&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;PaymentMethod&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;false&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum126"> 126:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum127"> 127:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum128"> 128:</span>             </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum129"> 129:</span>             <span style="color: #0000ff">&lt;</span><span style="color: #800000">CommerceEntity</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;Payment&quot;</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum130"> 130:</span>                 <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum131"> 131:</span>                     <span style="color: #0000ff">&lt;</span><span style="color: #800000">Relationship</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">modelName</span><span style="color: #0000ff">=&quot;PaymentAccount&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;Relationship&quot;</span> <span style="color: #ff0000">isMultipleItems</span><span style="color: #0000ff">=&quot;false&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum132"> 132:</span>                 <span style="color: #0000ff">&lt;/</span><span style="color: #800000">Relationships</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum133"> 133:</span>             <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum134"> 134:</span>         <span style="color: #0000ff">&lt;/</span><span style="color: #800000">CommerceEntities</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum135"> 135:</span>     <span style="color: #0000ff">&lt;/</span><span style="color: #800000">DefaultChannel</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum136"> 136:</span> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">MetadataDefinitions</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
</p></div>
</div>
<p>Now it’s time to run the CSMetal.exe:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2011/03/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2011/03/image_thumb1.png" width="304" height="50" /></a></p>
<p>In the directories, you will find 3 cs files (if you configure the generation for odata), one for the context, one for the entities and one for odata:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2011/03/image2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2011/03/image_thumb2.png" width="304" height="98" /></a></p>
<p>Copy the files GeneratedContexts.cs and GeneratedTypes.cs in the project CSMetalLinqProvider and re run a new compilation for this project.</p>
<p>Your Commerce Entities are now available through your Linq provider for Commerce Server <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.gaelduhamel.com/wp-content/uploads/2011/03/wlEmoticon-smile.png" /></p>
<p>To get a category, just write down these lines of code:</p>
<pre class="code"><span style="color: blue">var </span>category = <span style="color: blue">new </span><span style="color: #2b91af">CategoryContext</span>(commerceServiceProxy)
                  .IncludeChildCategories()
                  .Single(o =&gt; o.Id==<span style="color: #a31515">&quot;Departments&quot; </span>&amp;&amp; o.CatalogId==DefaultCatalog);
<span style="color: blue">var </span>childCategories = category.ChildCategories;</pre>
<pre class="code">or for a product :</pre>
<pre class="code"><span style="color: blue">var </span>product = <span style="color: blue">new </span><span style="color: #2b91af">ProductContext</span>(commerceServiceProxy)
                 .Single(o=&gt;o.CatalogId==DefaultCatalog &amp;&amp; o.Id==<span style="color: #a31515">&quot;AW200-12&quot;</span>);
<span style="color: blue">var </span>productCode = product.ProductCode;</pre>
<p>That’s just a simple sample of what the Commerce Server Linq Provider is able to do and I’ll try to show you more in my next posts. But, I’m sure that will simplify the life for your developer <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.gaelduhamel.com/wp-content/uploads/2011/03/wlEmoticon-smile.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/linq-provider-for-commerceserver-thanks-to-csmetal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prospecting and retaining customers to your Web sites</title>
		<link>http://www.gaelduhamel.com/prospecting-and-retaining-customers-to-your-web-sites/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=prospecting-and-retaining-customers-to-your-web-sites</link>
		<comments>http://www.gaelduhamel.com/prospecting-and-retaining-customers-to-your-web-sites/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 20:41:00 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Altima]]></category>
		<category><![CDATA[BI]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=498</guid>
		<description><![CDATA[I gave a session during the french Techdays about "Prospecting and retaining customers to your Web sites" with René Lefebure. You can watch below the webcast or download here the PowerPoint.]]></description>
				<content:encoded><![CDATA[<p>I gave a session during the french Techdays about &quot;Prospecting and retaining customers to your Web sites&quot; with <a href="http://www.blog-crm.com/" target="_blank">René Lefebure</a>. You can watch below the webcast or <a href="http://www.microsoft.com/france/core/redirect/redirect.aspx?rid=1&amp;wizardid=dc712368-010a-4972-a9dc-ebbabfa3e0ff&amp;lcid=1036&amp;fu=http://download.microsoft.com/documents/France/TechDays/2011/DBI303.pptx" target="_blank">download here</a> the PowerPoint.</p>
<p><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="600" height="337"><param name="source" value="http://www.microsoft.com/showcase/silverlight/player/1/player-fr.xap" /><param name="enableHtmlAccess" value="true" /><param name="background" value="#FF000000" /><param name="allowHtmlPopupwindow" value="true" /><param name="minRuntimeVersion" value="4.0.50401.0" /><param name="autoUpgrade" value="true" /><param name="initParams" value="Culture=fr-FR,Uuid=7a0a0939-94c1-4c03-80e3-d36d85c20e85,Autoplay=false,ShowMarketingOverlay=true,MiscControls=FullScreen;Detached,ShowMenu=True,Tabs=Embed;Email;Share;Info,VideoUrl=http://microsoft.com/showcase/fr/fr/details/7a0a0939-94c1-4c03-80e3-d36d85c20e85,Mode=Player" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156" style="text-decoration: none;" onmousedown="javascript:new Image().src = 'http://m.webtrends.com/dcsygm2gb10000kf9xm7kfvub_9p1t/dcs.gif?dcsdat=' + new Date().getTime() + '&#038;dcssip=www.microsoft.com&#038;dcsuri=' + window.location.href + '&#038;WT.tz=-8&#038;WT.bh=16&#038;WT.ul=fr-FR&#038;WT.cd=32&#038;WT.jo=Yes&#038;WT.ti=&#038;WT.js=Yes&#038;WT.jv=1.5&#038;WT.fi=Yes&#038;WT.fv=10.0&#038;WT.sli=Not%20Installed&#038;WT.slv=Version%20Unavailable&#038;WT.dl=1&#038;WT.seg_1=Not%20Logged%20In&#038;WT.vt_f_a=2&#038;WT.vt_f=2&#038;WT.vt_nvr1=2&#038;WT.vt_nvr2=2&#038;WT.vt_nvr3=2&#038;WT.vt_nvr4=2&#038;vp_site=Embedded&#038;wtEvtSrc=' + window.location.href + '&#038;vp_sli=Embedded'">             <img src="http://img.microsoft.com/showcase/Content/img/resx/fr-FR/installSL.gif" alt="Get Microsoft Silverlight" style="border-style: none" />             </a><br />
<noscript>
<div><img alt="DCSIMG" id="DCSIMG" width="1" height="1" src="http://m.webtrends.com/dcsygm2gb10000kf9xm7kfvub_9p1t/njs.gif?dcsuri=/nojavascript&amp;WT.js=No" /></div>
</noscript>
<p>             </object><script type="text/javascript">    document.write("<script type='text/javascript' src='" + (window.location.protocol) + "//c.microsoft.com/ms.js'" + "'><\/script>");</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/prospecting-and-retaining-customers-to-your-web-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My blog is IE9 enabled :)</title>
		<link>http://www.gaelduhamel.com/my-blog-is-ie9-enabled/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-blog-is-ie9-enabled</link>
		<comments>http://www.gaelduhamel.com/my-blog-is-ie9-enabled/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 09:52:52 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[IE9]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=496</guid>
		<description><![CDATA[Yesterday Microsoft released (the beta version) a new Internet Explorer browser called IE9. You can download it from the beauty of the web’site: To see all of the main improvement, go to the ie test drive web site: For us, developers, Microsoft has also released a guide: Internet Explorer 9 Beta Guide for Developers. I’ve [...]]]></description>
				<content:encoded><![CDATA[<p>Yesterday Microsoft released (the beta version) a new Internet Explorer browser called IE9.</p>
<p>You can download it from <a href="http://www.beautyoftheweb.com/">the beauty of the web’site</a>:</p>
<p><a href="http://www.beautyoftheweb.com/"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/09/image.png" width="404" height="216" /></a></p>
<p>To see all of the main improvement, go to the <a href="http://ie.microsoft.com/testdrive/">ie test drive web site</a>:</p>
<p><a href="http://ie.microsoft.com/testdrive/"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/09/image1.png" width="404" height="226" /></a></p>
<p>For us, developers, Microsoft has also released a guide: <a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx">Internet Explorer 9 Beta Guide for Developers</a>. I’ve just started to play with it and enable my blog to IE9. If you now pin my web site to the taskbar, you’ll can see some new IE9 features like the tasks and custom lists:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/09/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/09/image_thumb.png" width="504" height="316" /></a></p>
<p>Enjoy the beauty of the web <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.gaelduhamel.com/wp-content/uploads/2010/09/wlEmoticonsmile.png" />!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/my-blog-is-ie9-enabled/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to preview your Commerce Server marketing data</title>
		<link>http://www.gaelduhamel.com/how-to-preview-your-commerce-server-marketing-data/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-preview-your-commerce-server-marketing-data</link>
		<comments>http://www.gaelduhamel.com/how-to-preview-your-commerce-server-marketing-data/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 21:35:54 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=465</guid>
		<description><![CDATA[In this article I will show you how to preview your Commerce Server marketing datas.]]></description>
				<content:encoded><![CDATA[<p>As you should know, <a title="Microsoft Commerce Server" href="http://msdn.microsoft.com/en-us/library/dd452365(v=CS.90).aspx" rel="nofollow" target="_blank">Microsoft Commerce Server</a> allows you to manage your marketing campaigns of your e-Commerce website through 2 modules of the <a title="Managing Your Marketing Campaigns" href="http://msdn.microsoft.com/en-US/library/dd452524(v=CS.90).aspx" rel="nofollow" target="_blank">Marketing System</a> :</p>
<ul>
<li><a title="Managing Discounts" href="http://msdn.microsoft.com/en-US/library/dd328657(v=CS.90).aspx" rel="nofollow" target="_blank">Discounts</a> </li>
<li><a title="Managing Advertisements" href="http://msdn.microsoft.com/en-US/library/dd328637(v=CS.90).aspx" rel="nofollow" target="_blank">Advertisements</a> </li>
</ul>
<p>These two modules are all schedulable. Which means that you can set a start and end date for the display of an ad or on a discount application.</p>
<p>By default, the Marketing Business Tools allows you to preview the rendering of an ad:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image1.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb.png" width="404" height="199" /></a></p>
<p>But nothing on a discount… and my two cents, that like my customers, you will tell :”Hey, Gaël, it’s not enough! I need to view my ads or my discounts in my website. I have to be sure that everything is set up correctly…”</p>
<p>Ok, so it’s pretty easy to see the result of your marketing campaign items if they are all applicable right now. Just open your web application and that’s it <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonsmile1.png" /> However, don’t forget that you might have constrains on your ads or discounts like for example:</p>
<ul>
<li>the ad can be displayable on a particular type of pages (home, products, basket, …), </li>
<li>the ad or the discount is eligible if the connected user meets the requirement like to be a man or a woman </li>
<li>etc, etc, … (if you have questions on all the different condition, do not hesitate to contact me <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonsmile1.png" />) </li>
</ul>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image2.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb1.png" width="504" height="297" /></a></p>
<p>But what can you do if your marketing campaign items are expected in 2 or 3 months? Do you have to wait the d day like you was expecting your first party? So, for sure the answer is…</p>
<p>… really depending of the quality of your Commerce Server Consultant/Expert <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonsmile1.png" /> Let’s pick up one of the below answers:</p>
<ul>
<li>“That’s not possible at all! Commerce Server don’t do those kind of feature!”
<ul>
<li>Meaning that’s time for you to change your consultant/expert =&gt; <a title="Commerce Server Expert" href="http://expertise-commerce-server.altima.fr/expertise-commerce-server" target="_blank">Are you looking for a Commerce Server expert?</a> </li>
</ul>
</li>
<li>“Change the server’s date and refresh your cache to see the result” (truthful!) </li>
<ul>
<li>Handy if you have staging and live on the same box, isn’t it? <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-greenwithenvy" alt="Envieux" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticongreenwithenvy.png" />&#160; </li>
<li>Most of the time it’s an IT task, and I guess they have something else to do… (I do hope <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-angel" alt="Ange" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonangel.png" />) </li>
<ul>
<li>Don’t forget to rollback the date, so again an IT task… </li>
</ul>
</ul>
<li>“Deactivate your eligible marketing campaign items and activate only the ones you want to test by changing the start date to the current day time.”
<ul>
<li>Need to have a staging environment</li>
<li>Painful, I have customer who has more than 100 advertisements and at least the same amount of discount… </li>
<li>Confusion when you have to reactivate the true eligible marketing campaign items
<ul>
<li>Have to be sure which have to be reactivate… </li>
</ul>
</li>
<li>Possible errors when you modify the begin and end date </li>
<li>Some guys can tell you that a custom development for activating /deactivating a list of campaign items can be the solution. Right, but that’s still not an acceptable answer as you still have to tick/untick the campaign items… </li>
</ul>
</li>
<li>“No worries, we have the solution!”… </li>
</ul>
<p>The solution is pretty simple. Fist, you have to know that the Commerce Server runtime loads the different caches and context information during the first load of the application or each time the cache is refreshing. That’s of course for better performance considerations.</p>
<p>In the case of discouts and advertising the caching system is loaded by two stored procedures (and an another one called by these 2 stored procedures) which is located in the marketing system database:</p>
<ul>
<li>mktg_spRuntimeLoadAdvertisements </li>
<li>mktg_spRuntimeLoadDiscounts </li>
<li>mktg_spRuntimeLoadReferenceTables </li>
</ul>
<p>&#160;</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image3.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb2.png" width="216" height="244" /></a><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image4.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb3.png" width="143" height="244" /></a><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image5.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb4.png" width="141" height="244" /></a></p>
<p><strong>=&gt; These stored procedures are called at the first load or each time the caches are refreshing.</strong>     </p>
<p>&#160;</p>
<p>The <a title="e-commerce Blog" href="http://blogs.msdn.com/b/commerce/" target="_blank">Commerce Server team</a> did a really great job with the caching system on discounts and advertisements. Indeed, it’s possible to tell to the runtime which stored procedures to load and so, we are now able to include our own logic within them.</p>
<p>The idea, here, is to have two applications. One for the preview and another one for the default behavior. In the preview web application, we will load our two new stored procedures by the runtime. </p>
<p>In order to do that, we will tell to the runtime to load our 2 stored procedures by modifying the web.config file, in the caches section web.config &gt; CommerceServer &gt; Caches (see <a href="http://msdn.microsoft.com/en-us/library/ms963787(v=CS.70).aspx" rel="nofollow" target="_blank">MSDN: caches Element</a>).</p>
<p>In the preview application web.config’s file we will changing the default caching section by:</p>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">cache
    </span><span style="color: red">name</span><span style="color: blue">=</span>&quot;<span style="color: blue">Advertising</span>&quot;
    <span style="color: red">type</span><span style="color: blue">=</span>&quot;<span style="color: blue">Advertising</span>&quot; 
    <span style="color: red">refreshInterval</span><span style="color: blue">=</span>&quot;<span style="color: blue">900</span>&quot; 
    <span style="color: red">retryInterval</span><span style="color: blue">=</span>&quot;<span style="color: blue">30</span>&quot; 
    <span style="color: red">loaderProgId</span><span style="color: blue">=</span>&quot;<span style="color: blue">Commerce.CSFLoadAdvertisements</span>&quot; 
    <span style="color: red">writerProgId</span><span style="color: blue">=</span>&quot;<span style="color: blue">Commerce.CSFWriteEvents</span>&quot;<span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">config
        </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">LoadAdvertisementsProcedure</span>&quot; 
        <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue">spGael_staging_mktg_spRuntimeLoadAdvertisements</span>&quot; <span style="color: blue">/&gt;
&lt;/</span><span style="color: #a31515">cache</span><span style="color: blue">&gt;
&lt;</span><span style="color: #a31515">cache
    </span><span style="color: red">name</span><span style="color: blue">=</span>&quot;<span style="color: blue">Discounts</span>&quot; 
    <span style="color: red">type</span><span style="color: blue">=</span>&quot;<span style="color: blue">Discounts</span>&quot; 
    <span style="color: red">refreshInterval</span><span style="color: blue">=</span>&quot;<span style="color: blue">0</span>&quot; 
    <span style="color: red">retryInterval</span><span style="color: blue">=</span>&quot;<span style="color: blue">30</span>&quot; 
    <span style="color: red">loaderProgId</span><span style="color: blue">=</span>&quot;<span style="color: blue">Commerce.CSFLoadDiscounts</span>&quot; 
    <span style="color: red">writerProgId</span><span style="color: blue">=</span>&quot;<span style="color: blue">Commerce.CSFWriteEvents</span>&quot;<span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">config 
        </span><span style="color: red">key</span><span style="color: blue">=</span>&quot;<span style="color: blue">LoadDiscountsProcedure</span>&quot; 
        <span style="color: red">value</span><span style="color: blue">=</span>&quot;<span style="color: blue"><span style="color: blue">spGael</span>_staging_mktg_spRuntimeLoadDiscounts</span>&quot; <span style="color: blue">/&gt;
&lt;/</span><span style="color: #a31515">cache</span><span style="color: blue">&gt;</span></pre>
<p>The default behavior for the pipeline is to compare the start and end date with the current local time, but as you may know, changing that means re develop all the pipeline components and that’s of course not my solution <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonsmile1.png" />. To workaround that, I will move back the start and end date by calculating the difference between the current date time and the preview date, and so retrieve it on all the scheduled discounts and advertisements.</p>
<p>Let’s execute the default stored procedure to load the advertisements caching system “mktg_spRuntimeLoadAdvertisements”:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image6.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb5.png" width="404" height="114" /></a></p>
<p>Only the advertisements with the start and end date in the time frame of the 8th of July came up. For my post, I’ve created a new ad only visible between the 1st and the 31st of August:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image7.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb6.png" width="404" height="277" /></a></p>
<p>If I execute again the stored procedure “mktg_spRuntimeLoadAdvertisements”, I got the exactly same result. Surprised? No! As my ad is not eligible. The start date is on the 1st of August and we are the 8th of July 2010:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image21.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image[21]" border="0" alt="image[21]" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image21_thumb.png" width="404" height="114" /></a> </p>
<p>Now, copy and paste the “mktg_spRuntimeLoadAdvertisements” stored procedure code and create a new one call “spGael_staging_mktg_spRuntimeLoadAdvertisements”. Just change the start and end date by retrieving the days number between the preview date and now.</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image8.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb7.png" width="404" height="438" /></a>You will note that the preview date is stored in a table called “altima_doPreview”. Like that, I can have a simple web part to change the preview date on the fly (don’t forget to refresh your cache).</p>
<p>If we now execute the stored procedure, we got just one result, because the preview date is on the 15th of August and only my ad is eligible:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image9.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb8.png" width="404" height="107" /></a></p>
<p>Note that in my result, the start and end date have switched to 37 days back:</p>
<ul>
<li><strong><u>Start date:</u></strong> 1st August 2010 – 37 days =&gt; 25 June 2010 </li>
<li><strong><u>End date:</u></strong>, 31 August 2010 – 37 days =&gt; 25 July 2010 </li>
</ul>
<p>So, now time to run our preview web application (don’t forget to update the web.config) and miracle… my new ad is now displayed <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonsmile1.png" /></p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image10.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb9.png" width="404" height="249" /></a></p>
<p>Start the default behavior web application and note that my ad is not displayed</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image11.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb10.png" width="404" height="247" /></a></p>
<p>To finish, I give you here the code for the discounts stored procedure:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image12.png" target="_blank"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image_thumb11.png" width="404" height="680" /></a></p>
<p>Hope this help!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/how-to-preview-your-commerce-server-marketing-data/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Commerce Server MVP for 2010!</title>
		<link>http://www.gaelduhamel.com/commerce-server-mvp-for-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=commerce-server-mvp-for-2010</link>
		<comments>http://www.gaelduhamel.com/commerce-server-mvp-for-2010/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 21:14:00 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Award]]></category>
		<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[MVP]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=434</guid>
		<description><![CDATA[I just received an email from Microsoft to announce me my Commerce Server MVP renewal! 

So, like last year, I would like to thank all of my colleagues at Altima who work with me and the customers I have worked for. And of course the Microsoft Commerce Server team for this honor.]]></description>
				<content:encoded><![CDATA[<p>I just received an email from Microsoft to announce me my Commerce Server MVP renewal! <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sourire" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/wlEmoticonsmile.png" /></p>
<p>So, like last year, I would like to thank all of my colleagues at <a href="http://www.altima.fr" target="_blank">Altima</a> who work with me and the customers I have worked for. And of course the Microsoft Commerce Server team for this honor.</p>
<p><a href="https://mvp.support.microsoft.com/profile=D1F2B441-869C-47D5-82EE-05168A88F4A8" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/07/image.png" width="304" height="101" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/commerce-server-mvp-for-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Wygday 2010] Commerce Server 2009 session</title>
		<link>http://www.gaelduhamel.com/wygday-2010-commerce-server-2009-session/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wygday-2010-commerce-server-2009-session</link>
		<comments>http://www.gaelduhamel.com/wygday-2010-commerce-server-2009-session/#comments</comments>
		<pubDate>Fri, 07 May 2010 08:13:00 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[Microsoft Event]]></category>
		<category><![CDATA[Speaker]]></category>
		<category><![CDATA[Wygday]]></category>
		<category><![CDATA[Wygwam]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/wygday-2010-commerce-server-2009-session/</guid>
		<description><![CDATA[Want to know more about Commerce Server 2009? How Commerce Server looks like? What can it bring to your e-Commerce strategy? Meet Matthieu and I at Wygday 2010 for a dedicated Commerce Server session.]]></description>
				<content:encoded><![CDATA[<p align="center"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image15.png" width="244" height="153" /> </p>
<p>Want to know more about Commerce Server 2009? How Commerce Server looks like? What can it bring to your e-Commerce strategy? Meet <a href="http://www.wygwam.com/Equipe/Matthieu_Hodin.aspx" target="_blank">Matthieu</a> and I at Wygday 2010 for a dedicated Commerce Server session.</p>
<p>So, what’s the Wygday? <img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /></p>
<h3>WygDay 2010 : The Lille’s edition of the Microsoft Days</h3>
<p>&#160;</p>
<p align="justify">The wygday is a day organized by Wygwam and Microsoft. The Wydgay is fully dedicated to the new technologies. You’ll can meet several experts from Wygwam or Microsoft who will show you an overview on the new key features and feedbacks from their own experience. That’s the best moment to talk with them! </p>
<p align="justify">This year, we will land three different axes: Visual Studio 2010 development, Architecture/Industrialization, SharePoint 2010, Office 2010, Exchange 2010, Cloud Computing, Bing Maps, Research et Innovation. For more information on the sessions:    <br /><a href="http://wygday.wygwam.com/Sessions.aspx">http://wygday.wygwam.com/Sessions.aspx</a></p>
<h4 align="center">Come to meet us by registering on the&#160; <a href="http://wygday.wygwam.com/Default.aspx">WygDay 2010</a> website.</h4>
<p><strong></strong></p>
<p><strong>Rendez-vous on the 8th of June 2010 at EuraTechnologies</strong>     <br />165 avenue de Bretagne 59000 Lille     <br />Métro Canteleu (Direction St Philibert – Ligne 2)     <br />Free secure car park available</p>
<blockquote><p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image16.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Sponsorisé par Microsoft Days" border="0" alt="Sponsorisé par Microsoft Days" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb13.png" width="162" height="54" /></a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/wygday-2010-commerce-server-2009-session/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to consume the Commerce Server data for Power Pivot with a RESTful service</title>
		<link>http://www.gaelduhamel.com/how-to-consume-the-commerce-server-data-for-power-pivot-with-a-restful-service/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-consume-the-commerce-server-data-for-power-pivot-with-a-restful-service</link>
		<comments>http://www.gaelduhamel.com/how-to-consume-the-commerce-server-data-for-power-pivot-with-a-restful-service/#comments</comments>
		<pubDate>Thu, 06 May 2010 20:26:13 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Power Pivot]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[OData]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=393</guid>
		<description><![CDATA[To follow up my last two posts on Commerce Server and Power Pivot ("Create simple and effective reports for Commerce Server with PowerPivot (aka Gemini)" and "Understand and analyze your Commerce Server data with Power Pivot"), I received a couple of questions on how to retrieve the Commerce Server data on a non local environment.]]></description>
				<content:encoded><![CDATA[<p>To follow up my last two posts on Commerce Server and Power Pivot (<a title="Create simple and effective reports for Commerce Server with PowerPivot (aka Gemini)" href="http://www.gaelduhamel.com/power-pivot-create-simple-and-effective-reports-through-powerpivot-aka-gemini/" target="_blank">Create simple and effective reports for Commerce Server with PowerPivot (aka Gemini)</a> et <a href="http://www.gaelduhamel.com/understand-and-analyze-your-commerce-server-data-with-power-pivot/" target="_blank">Understand and analyze your Commerce Server data with Power Pivot</a>), I received a couple of questions on how to retrieve the Commerce Server data on a non local environment.</p>
<p>Indeed, most of you have no direct access to the SQL Server databases (I hope so ^^): the e-Commerce farm is hosting in another datacenter with its own vLan to secure the databases. In another word, there are no way to connect to your databases via a simple connection string.</p>
<p>So, what are the options to get the data?</p>
<ul>
<li><strong>SQL Server replication SQL Server between the production environment and your local environment:</strong>
<ul>
<li><em>Pros:</em>
<ul>
<li>Many way to synchronize your databases (transactional , snapshot, …); </li>
<li>Strong and tested feature; </li>
</ul>
</li>
<li><em>Cons:</em>
<ul>
<li>You must have a SGBD (yes guys! <img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /> Some of the consultants hasn’t got a SGBD); </li>
<li>Expose the databases is not a best practices for a security point of view (even if you filter by IP), to secure it, you must have a dedicated internet line between your datacenter and the different end points. Which is quite expensive; </li>
</ul>
</li>
</ul>
</li>
<li><strong>Export the data in a text format and then import them to the local SGBD:</strong>
<ul>
<li><em>Pros:</em>
<ul>
<li>Excel and Power Pivot have a strong text import feature; </li>
<li>Excel is well known by the most of the consultants (the same who hasn’t go a SGBD). So, not difficult for them to get the data! </li>
</ul>
</li>
<li><em>Cons:</em>
<ul>
<li>Store the files on a local file system is not easy to manage in a long term perspective; </li>
<li>Difficult to share the Power Pivot file between different people; </li>
</ul>
</li>
</ul>
</li>
<li><strong>Use the Power Pivot capacity to consume a data feed stream (</strong><a title="Manage PowerPivot Data Feeds" href="http://technet.microsoft.com/en-US/library/ee210637(SQL.105).aspx" target="_blank">Have a look on this MSDN article</a><strong></strong><strong>)</strong>
<ul>
<li><em>Pros:</em>
<ul>
<li>The databases are not expose to public lan </li>
<li>You can still secure the databases access (integrated security for exemple) </li>
<li>Xml format is based on the standard market:
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=120018" target="_blank">Atom 1.0 Syndication format</a> </li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=131078" target="_blank">Atom 1.0 Publishing Protocol</a> </li>
</ul>
</li>
</ul>
</li>
<li><em>Cons:</em>
<ul>
<li>Very new technology so not so much test on it </li>
<li>Using a https certificate to ensure the transport between the web service and the end points. </li>
</ul>
</li>
</ul>
</li>
</ul>
<p>In these 3 scenarii, it’s difficult to say that the solution is only in one of these three. All have pros and cons. It really depends on what you can do and what are the expectations. From myself I decided to show you the data feed option.</p>
<p>To expose your data in asp.net, the best solution is to use a WCF service. This service will be able to render the data in the desired format (here ATOM). Nothing new? Agreed! The trick here is to use the new WCF Data Service. The WCF Data Service enable you a RESTful exposition of your data. In another words, using the <a href="http://www.odata.org/" target="_blank">OData protocol</a>!</p>
<p>To achieve this, we need to have an application web where we will add a new item : “ADO.Net Entity Data Model” connected to your SQL Server database.</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image31.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image3_thumb.png" width="404" height="257" /></a></p>
<p>In case of your dashboard are based on the order system, you have to connect to the &lt;site commerce server&gt;_Transactions database.</p>
<p>&#160;<a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb4.png" width="404" height="374" /></a></p>
<p>Then, add an new WCF Data Service item.</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image6.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image6_thumb.png" width="404" height="257" /></a></p>
<p>In the new created service, addin the InitializeService method the code below:</p>
<pre class="code">config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;DiscountsApplied&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;LineItems&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;OrderAddresses&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;OrderForms&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;PurchaseOrderPayments&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;PurchaseOrders&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;Shipments&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);
config.SetEntitySetAccessRule(<span style="color: #a31515">&quot;ShippingDiscounts&quot;</span>, <span style="color: #2b91af">EntitySetRights</span>.AllRead);</pre>
<p>This code, will allow the service to retrieve the table content in read only mode.</p>
<p>You can now call you service in your favorite browser and get the below Atom XML feed. In this feed, you get all the entities that you give the read permission.</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image5.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb5.png" width="404" height="226" /></a></p>
<p>As it’s a RESTful service, you can play with the URI to navigate into the data. So for example, add LineItems at the end of the URL (ex: <a href="http://localhost//CommerceServerOrdersDataService.svc/LineItems">http://localhost//CommerceServerOrdersDataService.svc/LineItems</a>)</p>
<p>If you call again your service, you will see a RSS feed like:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image7.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb6.png" width="404" height="199" /></a></p>
<p>To switch to the xml view, in Internet Explorer, go to Internet Options &gt; Content &gt; Feeds and web slicers settings and untick the feed reading view checkbox.</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image8.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb7.png" width="404" height="271" /></a></p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image9.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb8.png" width="404" height="192" /></a>&#160;</p>
<p>And voilà! The development part is now finished and you’re able to consume this data feed in Power Pivot:</p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb9.png" width="244" height="198" /></a> <a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image11.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb10.png" width="239" height="244" /></a> <a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image13.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb11.png" width="238" height="244" /></a></p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image14.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb12.png" width="504" height="298" /></a></p>
<p>In Commerce Server, all the web services access are managed by an azman file with integrated security. I will show you in a next post how to do a dedicated one for this data feed service <img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" />.</p>
<p>For more information:</p>
<ul>
<li><a title="Data development uses Microsoft&#39;s data platform to create data-centric solutions across mobile devices and desktops for web servers, enterprise servers, and the cloud." href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank">Microsoft Data team</a> has a <a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx" target="_blank">dedicated web site to the WCF Data Service</a>. </li>
<li><a href="http://blogs.msdn.com/astoriateam/default.aspx" target="_blank">Data Service team&#8217;s blog</a> </li>
<li><a href="http://msdn.microsoft.com/en-us/data/ee720180.aspx" target="_blank">Beginner&#8217;s Guide to WCF Data Services</a> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/how-to-consume-the-commerce-server-data-for-power-pivot-with-a-restful-service/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Understand and analyze your Commerce Server data with Power Pivot</title>
		<link>http://www.gaelduhamel.com/understand-and-analyze-your-commerce-server-data-with-power-pivot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=understand-and-analyze-your-commerce-server-data-with-power-pivot</link>
		<comments>http://www.gaelduhamel.com/understand-and-analyze-your-commerce-server-data-with-power-pivot/#comments</comments>
		<pubDate>Wed, 05 May 2010 13:56:16 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[Power Pivot]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/?p=366</guid>
		<description><![CDATA[To follow up my post on Power Pivot and Commerce Server, I decided to show you how to achieve three different dashboards and give to you the excel file.]]></description>
				<content:encoded><![CDATA[<p>To follow up my post on <a title="Créer des rapports simples et efficaces pour Commerce Server grâce à PowerPivot (aka Gemini)" href="http://www.gaelduhamel.fr/crer-des-rapports-simples-et-efficaces-pour-commerce-server-grce-powerpivot-aka-gemini/" target="_blank">Power Pivot and Commerce Server</a>, I decided to show you how to achieve three different dashboards and give to you the excel file.</p>
<p>The goal here is not to show you how to create the data source, the relationships and so. You can find very valuable information on a lot of web sites:</p>
<ul>
<li><a href="http://www.gaelduhamel.fr/crer-des-rapports-simples-et-efficaces-pour-commerce-server-grce-powerpivot-aka-gemini/">Créer des rapports simples et efficaces pour Commerce Server grâce à PowerPivot (aka Gemini)</a> </li>
<li><a href="http://blogs.technet.com/echopilote/archive/2010/03/02/tutoriel-powerpivot-pour-excel-partie-1-2-construction-d-un-mod-le-powerpivot-partir-de-plusieurs-sources-de-donn-es.aspx">Tutoriel PowerPivot pour Excel – Partie 1/2 : Construction d’un modèle PowerPivot à partir de plusieurs sources de données</a> </li>
<li><a href="http://www.powerpivot.com/videos.aspx">Power Pivot : How To</a> </li>
</ul>
<p>To achieve theses scenarri you must have:</p>
<ul>
<li><a href="http://www.microsoft.com/office/2010/en/professional-edition/default.aspx">Excel 2010</a> </li>
<li><a href="http://www.powerpivot.com/download.aspx">Addin Power Pivot pour Excel 2010</a> </li>
<li>A Sql connection to the Commerce Server databases</li>
</ul>
<h3>The databases</h3>
<p>To create our different dashboard, we need to connect to two databases:</p>
<ul>
<li>Profiles (here SPGael_profiles) : Owns all the profile information for the customers
<ul>
<li>In this table, I have a custom field to store the birthday date. All the others data are native in Commerce Server </li>
</ul>
</li>
<li>Transactions (here SPGael_transactions) : Owns all the orders information
<ul>
<li>All the data are the native one with Commerce Server. </li>
</ul>
</li>
</ul>
<p>Select the tables :</p>
<ul>
<li><b>Orders</b>&#160;
<ul>
<li>DiscountsApplied : Owns all the marketing discounts applied on the orders;</li>
<li>LineItems : Owns all the line items in the orders;</li>
<li>OrderAddresses : Owns all the adresses used for the check out (billing and shipping); </li>
<li>OrderForms : Owns the container for the line items (one order has from 1 to n OrderForms and&#160; one OrderForms has from 1 to n LineItems);</li>
<li>PurchaseOrderPayments : Owns the different payment methods used during the checkout;</li>
<li>PurchaseOrders : Owns the general information about the orders; </li>
<li>Shipments : Owns the shipping information used during the checkout; </li>
<li>ShippingDiscounts : Owns the shipping discounts applied on an order; </li>
</ul>
</li>
<li><b>Customers</b>&#160;
<ul>
<li>UserObjet : Owns the customer information </li>
</ul>
</li>
</ul>
<h3>General dashboard</h3>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="dashboard eCommerce" border="0" alt="dashboard eCommerce" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb.png" width="504" height="358" /></a> </p>
<h3>Order’s dashboard</h3>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="dashboard eCommerce" border="0" alt="dashboard eCommerce" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb1.png" width="504" height="271" /></a> </p>
<h3>Customers’ dashboard<a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image2.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="dashboard eCommerce" border="0" alt="dashboard eCommerce" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb2.png" width="504" height="239" /></a> </h3>
<h3>&#160;</h3>
<p> <span id="more-366"></span><br />
<h3>Some useful tricks to create your dashboards</h3>
<p>Here are some useful trick I’ve used to create my 3 dashboards:</p>
<ul>
<li><b>Top x</b>
<ul>
<li>Click on the filter report;</li>
<li>Select filter by value; </li>
<li>Select the TOP10 option; </li>
<li>In the dialog box choose set the value; </li>
</ul>
</li>
</ul>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image12.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image12_thumb.png" width="288" height="274" /></a> </p>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image_thumb3.png" width="244" height="67" /></a> </p>
<ul>
<li><b>In a pie, to choose the values which move to the mini plot:</b>
<ul>
<li>Click right on the pie chart
<ul>
<li>Choose the horizontal axis data to edit </li>
</ul>
</li>
<li>In the dialog box&#160;
<ul>
<li>In the drop down list selec “Percentage value” </li>
<li>In the combo box select the threshold value </li>
</ul>
</li>
</ul>
</li>
</ul>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image18.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image18_thumb.png" width="329" height="361" /></a> </p>
<ul>
<li><b>Hide the filter buttons</b>
<ul>
<li>Click right on the filter button </li>
<li>Select “Hide all field buttons on chart&#8217;” </li>
</ul>
</li>
</ul>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image21.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image21_thumb.png" width="240" height="291" /></a> </p>
<ul>
<li><b>Connect several charts/pivot table to the same sclicer</b>
<ul>
<li>Select a slicer </li>
<li>In the slicer’s option tab, select&#160; « Pivot table connections » </li>
<li>In the dialog box tick the pivot table/chart’s checkbox you have to connect </li>
<li>Click ok </li>
</ul>
</li>
</ul>
<p><a href="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image24.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.gaelduhamel.com/wp-content/uploads/2010/05/image24_thumb.png" width="494" height="286" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/understand-and-analyze-your-commerce-server-data-with-power-pivot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>mRemote : the must have to manage your remote access</title>
		<link>http://www.gaelduhamel.com/mremote-the-must-have-to-manage-your-remote-access/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mremote-the-must-have-to-manage-your-remote-access</link>
		<comments>http://www.gaelduhamel.com/mremote-the-must-have-to-manage-your-remote-access/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 23:10:13 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Remote access]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/mremote-ou-comment-grer-facilement-ses-accs-serveurs/</guid>
		<description><![CDATA[I discovered recently a very handy tools called mRemote. This tool helps you to manage your remote access. You can find the usual settings like:
- Appearance (themes, wallpaper, screen resolution,…) 
- Credentials
- Enable printers, disks, sound card,… 

Thoses basics features are not only for RDP connexion but for a wide range of connection like ssh, telnet, PuTTy, ICA (Citrix), etc... in one single tool !]]></description>
				<content:encoded><![CDATA[<p>I discovered recently a very handy tools called <a href="http://mremote.org/wiki/MainPage.ashx" target="_blank">mRemote</a>. This tool helps you to manage your remote access. You can find the usual settings like:</p>
<ul>
<li>Appearance (themes, wallpaper, screen resolution,…) </li>
<li>Credentials</li>
<li>Enable printers, disks, sound card,… </li>
</ul>
<p>Thoses basics features are not only for RDP connexion but for a wide range of connection like ssh, telnet, PuTTy, ICA (Citrix), etc&#8230; in one single tool ! <img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /></p>
<p>What I really love is the tabulation to group my remote access with cherry on the cake an icon to show the server topology (with an icon dedicated to SharePoint <img alt="Hot" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/shades_smile.gif" />) but also the connection inheritance where all the connections under a folder can be… inherited!</p>
<p>A must have!</p>
<p><a href="http://mremote.org/wiki/Downloads.ashx"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="mRemote" border="0" alt="mRemote" src="http://www.gaelduhamel.com/wp-content/uploads/2010/03/image7.png" width="404" height="241" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/mremote-the-must-have-to-manage-your-remote-access/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s celebrate a new Commerce Server birth: Apart Fashion &#8211; Prêt a porter</title>
		<link>http://www.gaelduhamel.com/lets-celebrate-a-new-commerce-server-birth-apart-fashion-prt-a-porter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lets-celebrate-a-new-commerce-server-birth-apart-fashion-prt-a-porter</link>
		<comments>http://www.gaelduhamel.com/lets-celebrate-a-new-commerce-server-birth-apart-fashion-prt-a-porter/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 01:12:00 +0000</pubDate>
		<dc:creator>GaelDuhamel</dc:creator>
				<category><![CDATA[Commerce Server]]></category>
		<category><![CDATA[Live web site]]></category>
		<category><![CDATA[Altima]]></category>
		<category><![CDATA[Apart Fashion]]></category>
		<category><![CDATA[Fashion]]></category>
		<category><![CDATA[Retail]]></category>

		<guid isPermaLink="false">http://www.gaelduhamel.com/lets-celebrate-a-new-commerce-server-birth-apart-fashion-prt-a-porter/</guid>
		<description><![CDATA[The Altima’s Commerce Server team is more than happy to celebrate the “go live” for the new web site of APART – Fashion. This mark up clothing range for women offers stylish and original collections in distance selling exclusively! Ladies, to your blue card! ]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://www.altima.fr" target="_blank">Altima</a>’s <a title="Commerce Server" href="http://commerceserver.altima.fr/" target="_blank">Commerce Server</a> team is more than happy to celebrate the “go live” for the new web site of <a title="APART - Fashion" href="http://www.apart-fashion.fr/" target="_blank">APART – Fashion</a>. This mark up clothing range for women offers stylish and original collections in distance selling exclusively! Ladies, to your blue card!</p>
<p><a href="http://www.apart-fashion.fr/">APART-Fashion</a> is also on <a href="http://www.facebook.com">FaceBook</a>: <a title="APART-Fashion sur FaceBook" href="http://www.facebook.com/pages/Apart-Fashion-France/91446314794">click here to join them</a>!</p>
<p><a href="http://www.apart-fashion.fr/"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="APART-Fashion" src="http://www.gaelduhamel.com/wp-content/uploads/2010/02/image115.png" border="0" alt="APART-Fashion" width="484" height="736" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaelduhamel.com/lets-celebrate-a-new-commerce-server-birth-apart-fashion-prt-a-porter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
