<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.lhotka.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>CSLA .NET discussion</title><link>http://forums.lhotka.net/forums/5.aspx</link><description>General discussion about CSLA .NET</description><dc:language /><generator>CommunityServer 2008.5 SP3 (Build: 36.8414)</generator><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53169.aspx</link><pubDate>Mon, 09 Jul 2012 15:19:38 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53169</guid><dc:creator>j0552</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53169.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53169</wfw:commentRss><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;Hi Jonny&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;I think my specification requires behaviour modification rather than just changes to data, i.e. this is business logic not persistence logic. Therefore I need to do everything client side. I&amp;rsquo;ve created a new method based on the CSLA Save method. Basically I do all modifications to the object tree before it&amp;rsquo;s passed to the DataPortal.Update method. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StandardPublication&lt;/span&gt; SaveInternal()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StandardPublication&lt;/span&gt; local;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;// Do validation, busy tests etc.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (IsDirty)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (!IsLinkedCopy &amp;amp;&amp;amp; SaveAction == &lt;span style="color:#2b91af;"&gt;SaveAction&lt;/span&gt;.Save)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;// create a new linked copy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StandardPublication&lt;/span&gt; copy = CreateLinkedCopy(&lt;span style="color:blue;"&gt;this&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;local = &lt;span style="color:#2b91af;"&gt;DataPortal&lt;/span&gt;.Update(copy);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (IsLinkedCopy &amp;amp;&amp;amp; SaveAction == &lt;span style="color:#2b91af;"&gt;SaveAction&lt;/span&gt;.Publish)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;// merge linked copy into the original and delete linked copy &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StandardPublication&lt;/span&gt; orig = MergeLinkedCopy(&lt;span style="color:blue;"&gt;this&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;local = &lt;span style="color:#2b91af;"&gt;DataPortal&lt;/span&gt;.Update(orig);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;local = &lt;span style="color:#2b91af;"&gt;DataPortal&lt;/span&gt;.Update(&lt;span style="color:blue;"&gt;this&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;local = &lt;span style="color:blue;"&gt;this&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;OnSaved(local, &lt;span style="color:blue;"&gt;null&lt;/span&gt;, &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; local;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Consolas;font-size:9.5pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;The advantages are that nothing needs doing server-side, the business logic is contained, i.e. only need to change one method in the root BusinessBase class.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;The only pain I can see at the moment is mapping the whole object graph to the new one and again when merging the linked version back to the original one. I have to be careful about how I create the new object tree. It has to be created in a similar way to how an object is created in the UI, rules must run in correct order. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;Can you tell me if you see a problem with this approach in general? It looks promising so far.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;Thank you&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;Andrew&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-themecolor:dark2;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53163.aspx</link><pubDate>Sat, 07 Jul 2012 07:13:41 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53163</guid><dc:creator>JonnyBee</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53163.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53163</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;One of the key issues is to identify what happens on the 
client versus the server and what should be handled as &amp;quot;persistence 
logic&amp;quot;.&amp;#39;&lt;/p&gt;
&lt;p&gt;Is there f.ex different rules&amp;nbsp; based on the IsNew/Old to be enforced before Save?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;One
 option is to create command objects to do the persistence logic and 
send the &amp;quot;Root&amp;quot; object as parameter. (This would also allow you to 
change the metastate of the object tree to IsNew in the serverside 
update). &lt;/p&gt;
&lt;p&gt;Using the DataPortal_XYZ methods the DataPortal_XYZ are 
&amp;quot;member&amp;quot; calls and the DataPortal will help you maintain the correct 
state. IE The DataPortal will create the object - call the XYZ method 
and then set the correct state. &lt;/p&gt;
&lt;p&gt;ObjectFactories are external classes that must create the objects, load 
data and set the metastate - then return the object to the client. This 
gives a little more flexibility but also adds complexity in that your 
code must maintain the state. &lt;/p&gt;
&lt;p&gt;Using ObjectFactories will f.ex 
allow you to return a new instance of the BO from a Save - wheres 
DataPortal_XYZ is an instance method an cannot return another object.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53159.aspx</link><pubDate>Fri, 06 Jul 2012 13:48:40 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53159</guid><dc:creator>j0552</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53159.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53159</wfw:commentRss><description>&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I&amp;#39;m not sure I can just treat this all as persistence logic. Likewise I can&amp;#39;t see how using ObjectFactories can help, although I haven&amp;#39;t had to use them yet.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I&amp;#39;ve attached a diagram to illustrate the workflow I require. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Depending on the Status and the choice of &amp;#39;Save&amp;#39; or &amp;#39;Publish&amp;#39; we need to&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;decide whether to over-write the original object, or whether to create a new&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;linked copy (which will eventually over-write the original when it is&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;published).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I just need to know the best way to do this using business objects.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;I hope you can help point me in the right direction.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Thanks&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoPlainText" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Andrew&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53154.aspx</link><pubDate>Thu, 05 Jul 2012 22:23:26 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53154</guid><dc:creator>JonnyBee</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53154.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53154</wfw:commentRss><description>&lt;p&gt;Have you consiered a switchto ObjectFsctories. In object fatories the DataPortal will not help you with state management and you could call MarkNew in the Update method?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure why you need to call MarkNew in the DataPortal_Update metod. &lt;br /&gt;Could this just be part of your persistance logic in the DataPortal_Update?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53153.aspx</link><pubDate>Thu, 05 Jul 2012 21:52:59 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53153</guid><dc:creator>j0552</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53153.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53153</wfw:commentRss><description>&lt;p&gt;OK, so the best thing I have come up with is:&lt;/p&gt;
&lt;p&gt;1. Override save&lt;br /&gt;2. after validation but before transfer to the DataPortal, go though the root and all children and call MarkNew()&lt;/p&gt;
&lt;p&gt;I have to derive all the children&amp;nbsp;from a custom BusinessBase which gives me an internal MarkNew(), e.g.:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;internal &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; &lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;MarkNew() &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;base&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.MarkNew();&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Does this sound reasonable? What should the overridden Save method look like? Or is there a BB method which sits between Save and the DataPortal I can use?&lt;/p&gt;
&lt;p&gt;Andrew&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53152.aspx</link><pubDate>Thu, 05 Jul 2012 20:15:08 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53152</guid><dc:creator>JonnyBee</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53152.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53152</wfw:commentRss><description>&lt;p&gt;no, &lt;/p&gt;
&lt;p&gt;this is not possible inside DatapPortal_XYZ as the datapotal will help you to maintain proper state.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;IE: The DataPortal will call MarkOld after DataPortal_Update is completed.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53149.aspx</link><pubDate>Thu, 05 Jul 2012 17:21:34 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53149</guid><dc:creator>Tim</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53149.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53149</wfw:commentRss><description>&lt;p&gt;From Rocky&amp;#39;s e-book:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="font-size:small;"&gt;The MarkNew method is a protected method of BusinessBase, and you can call this method to mark an object as being new. You should not normally need to directly call MarkNew, because it is invoked automatically in most cases.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Also stated in his e-book, by default, calling MarkNew also invokes MarkDirty.&amp;nbsp; So if you don&amp;#39;t want that to happen, you&amp;#39;ll need to override the MarkNew method and then call MarkClean to make sure the object isn&amp;#39;t marked as dirty.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;[Edit]&amp;nbsp; I just realized you were asking about marking all child objects as new, so I&amp;#39;m not sure if the MarkNew method on the root takes care of that on the children.&amp;nbsp; I guess since you&amp;#39;re asking, perhaps it doesn&amp;#39;t.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How can I MarkNew the whole object graph during a DataPortal_Update?</title><link>http://forums.lhotka.net/forums/thread/53148.aspx</link><pubDate>Thu, 05 Jul 2012 16:42:26 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:53148</guid><dc:creator>j0552</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/53148.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=53148</wfw:commentRss><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I have a large object graph. There is a situation where, depending on the the status of the root object, I would like to mark the whole object graph as new when an update is called. e.g.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;protected&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; DataPortal_Update()&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt; (SaveAction == &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;color:#2b91af;font-size:x-small;"&gt;SaveAction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;.Draft){&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Mark everything as new. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Consolas;font-size:x-small;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Is there an elegant way to handle this? What are my options?&lt;/p&gt;
&lt;p&gt;Thanks&lt;br /&gt;Andrew&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>