<?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 to convert a Business Base to a Read Only Base ?</title><link>http://forums.lhotka.net/forums/thread/51916.aspx</link><pubDate>Sat, 18 Feb 2012 13:36:35 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:51916</guid><dc:creator>RockfordLhotka</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/51916.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=51916</wfw:commentRss><description>&lt;p&gt;That&amp;#39;s the problem with using a browser as a code editor - no checking for validity :)&lt;/p&gt;
&lt;p&gt;You don&amp;#39;t need a public constructor, the private one is fine. Just use the Shared method like I suggested, but create the object:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Public Shared Function GetReadOnlyTrav(obj As TravEntete)&lt;br /&gt;&amp;nbsp; Dim result = new ReadOnlyTrav&lt;br /&gt;&amp;nbsp; result.Id = obj.Id&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;End Function&lt;/p&gt;
&lt;p&gt;This works because the shared method is inside the read-only class, so it has access to all the private members of the read-only class - including the private constructor and the private setters.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How to convert a Business Base to a Read Only Base ?</title><link>http://forums.lhotka.net/forums/thread/51914.aspx</link><pubDate>Sat, 18 Feb 2012 08:41:31 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:51914</guid><dc:creator>dg78</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/51914.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=51914</wfw:commentRss><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;It is OK if I use a Public constructor in the read-only&amp;nbsp;class.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt;(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; pTravEntete &lt;span style="color:blue;"&gt;As&lt;/span&gt; TravEntete)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_Id = pTravEntete.Id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_DateTrav = pTravEntete.DateTrav&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Is it the good solution ?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How to convert a Business Base to a Read Only Base ?</title><link>http://forums.lhotka.net/forums/thread/51913.aspx</link><pubDate>Fri, 17 Feb 2012 23:18:01 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:51913</guid><dc:creator>dg78</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/51913.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=51913</wfw:commentRss><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN" style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Thanks, Rocky, for your answer.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN" style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Yes I could use inside your method all properties I have in the DataPortal_Fetch of the read-only class but there is a problem because it is not possible to refer instance member inside a shared method.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN" style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I did (sorry I use VB) :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Shared&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; CreateFromBB(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; pTravEntete &lt;span style="color:blue;"&gt;As&lt;/span&gt; TravEntete) &lt;span style="color:blue;"&gt;As&lt;/span&gt; TravEnteteInfo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_Id = pTravEntete.Id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-US" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:8pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;With DataPortal, the factory method (static or shared method) call DataPortal.Fech that call code in Csla which create an instance object on which we work in DataPortal_Fetch. It is not the case with only a static method. So there is an error on _Id = pTravEntete.Id&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: How to convert a Business Base to a Read Only Base ?</title><link>http://forums.lhotka.net/forums/thread/51909.aspx</link><pubDate>Fri, 17 Feb 2012 21:08:13 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:51909</guid><dc:creator>RockfordLhotka</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/51909.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=51909</wfw:commentRss><description>&lt;p&gt;Write a method in the read-only class something like this:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;public static YourReadOnlyType CreateFromBB(YourEditableType obj)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; this.Id = obj.Id;&lt;br /&gt;&amp;nbsp; this.Name = obj.Name;&lt;br /&gt;&amp;nbsp; // etc&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Then you can easily get a read-only object based on the editable object without going to the server or database.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to convert a Business Base to a Read Only Base ?</title><link>http://forums.lhotka.net/forums/thread/51895.aspx</link><pubDate>Fri, 17 Feb 2012 13:15:14 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:51895</guid><dc:creator>dg78</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/51895.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=51895</wfw:commentRss><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Hello,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I have a Business&amp;nbsp;Base object and I need to have the same in a Read Only Base but without to fetch data.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I have the two classes BB and ROB. I want to keep them but I need to convert a BB object to a ROB object.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;How to do that ?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Thanks in advance&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 10pt;"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Dominique&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>