<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Comments on: ClientUI &amp; DevForce Part 2: Contact Sandbox Editor</title>
	<atom:link href="http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/</link>
	<description>All about development productivity – ASP.NET, Silverlight, WPF, iOS, Android, Windows Phone, Windows 8</description>
	<lastBuildDate>Mon, 21 Jun 2021 04:23:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.33</generator>
	<item>
		<title>By: ClientUI &#38; DevForce Part 3: Enhance Editing Experiences with MVVM Advanced Input Controls &#124; Intersoft Solutions Corporate Blog</title>
		<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/#comment-378</link>
		<dc:creator><![CDATA[ClientUI &#38; DevForce Part 3: Enhance Editing Experiences with MVVM Advanced Input Controls &#124; Intersoft Solutions Corporate Blog]]></dc:creator>
		<pubDate>Wed, 08 Jun 2011 13:13:36 +0000</pubDate>
		<guid isPermaLink="false">https://intersoftpt.wordpress.com/2011/01/11/clientui-devforce-part-2-contact-sandbox-editor/#comment-378</guid>
		<description><![CDATA[[...] In the previous series of the joint ClientUI and DevForce sample, you have learnt how to build a simple Contacts application that runs in both Silverlight and WPF using the architectural best practice such as MVVM design pattern. The first series discussed about the fundamental data access architecture, while the second series talked about sandboxed editing. You can read the first blog post here, and the second post here. [...]]]></description>
		<content:encoded><![CDATA[<p>[&#8230;] In the previous series of the joint ClientUI and DevForce sample, you have learnt how to build a simple Contacts application that runs in both Silverlight and WPF using the architectural best practice such as MVVM design pattern. The first series discussed about the fundamental data access architecture, while the second series talked about sandboxed editing. You can read the first blog post here, and the second post here. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ward Bell</title>
		<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/#comment-377</link>
		<dc:creator><![CDATA[Ward Bell]]></dc:creator>
		<pubDate>Thu, 13 Jan 2011 23:46:16 +0000</pubDate>
		<guid isPermaLink="false">https://intersoftpt.wordpress.com/2011/01/11/clientui-devforce-part-2-contact-sandbox-editor/#comment-377</guid>
		<description><![CDATA[Hi Bill - Glad you like how we&#039;re progressing. A few thoughts on your suggestions for the future:

1) Configuring ComboBox drop-down lists with entities is a task that consistently bewilder developers, as evidenced by  question appearing on numerous forums.

We should add one of these to the next release of our example. We&#039;ll have to think of a sensible use case but I&#039;m sure we&#039;ll come up with one :-).

2) Jimmy and Intersoft are all over the nested grid.

3) Can you elaborate on what you mean by &quot;move the save routine to a unit of work pattern&quot;? 

I think of the DevForce EntityManager wiht its cache of entities and its transactional SaveChanges method as an implementation of the UoW pattern. 

In this sample application, the ViewModel calls an asynchonous Save method of the IContactsRepository which, in its concrete ContactsRepository implementation, invokes the SaveChangesAsync method. 

SaveChanges and SaveChangesAsync gather all cached entities that have pending changes (adds, mods, deletes) and submit them as a batch to the server for save. The Server revalidates and (assuming all as well) begins a transactional save of the batch to the database.

What are we missing from the UoW pattern you have in mind?]]></description>
		<content:encoded><![CDATA[<p>Hi Bill &#8211; Glad you like how we&#8217;re progressing. A few thoughts on your suggestions for the future:</p>
<p>1) Configuring ComboBox drop-down lists with entities is a task that consistently bewilder developers, as evidenced by  question appearing on numerous forums.</p>
<p>We should add one of these to the next release of our example. We&#8217;ll have to think of a sensible use case but I&#8217;m sure we&#8217;ll come up with one :-).</p>
<p>2) Jimmy and Intersoft are all over the nested grid.</p>
<p>3) Can you elaborate on what you mean by &#8220;move the save routine to a unit of work pattern&#8221;? </p>
<p>I think of the DevForce EntityManager wiht its cache of entities and its transactional SaveChanges method as an implementation of the UoW pattern. </p>
<p>In this sample application, the ViewModel calls an asynchonous Save method of the IContactsRepository which, in its concrete ContactsRepository implementation, invokes the SaveChangesAsync method. </p>
<p>SaveChanges and SaveChangesAsync gather all cached entities that have pending changes (adds, mods, deletes) and submit them as a batch to the server for save. The Server revalidates and (assuming all as well) begins a transactional save of the batch to the database.</p>
<p>What are we missing from the UoW pattern you have in mind?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jimmyps</title>
		<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/#comment-376</link>
		<dc:creator><![CDATA[jimmyps]]></dc:creator>
		<pubDate>Thu, 13 Jan 2011 05:43:54 +0000</pubDate>
		<guid isPermaLink="false">https://intersoftpt.wordpress.com/2011/01/11/clientui-devforce-part-2-contact-sandbox-editor/#comment-376</guid>
		<description><![CDATA[@Bill: These are all nice feedback, thank you for sharing them with us. I really like the idea of having a grid that shows detail lines, and have it retrieved and saved using MVVM pattern.

We will definitely give it some thoughts and include them in our the application roadmap. Most possibly we can include it in the upcoming UXGridView bits.]]></description>
		<content:encoded><![CDATA[<p>@Bill: These are all nice feedback, thank you for sharing them with us. I really like the idea of having a grid that shows detail lines, and have it retrieved and saved using MVVM pattern.</p>
<p>We will definitely give it some thoughts and include them in our the application roadmap. Most possibly we can include it in the upcoming UXGridView bits.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jimmyps</title>
		<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/#comment-375</link>
		<dc:creator><![CDATA[jimmyps]]></dc:creator>
		<pubDate>Thu, 13 Jan 2011 05:33:59 +0000</pubDate>
		<guid isPermaLink="false">https://intersoftpt.wordpress.com/2011/01/11/clientui-devforce-part-2-contact-sandbox-editor/#comment-375</guid>
		<description><![CDATA[Hi Bill, glad to hear that you can take advantage of the MVVM and Sandbox Editor pattern in the Contacts application, and apply them to your business applications. Can&#039;t wait to see your applications live in the web :)]]></description>
		<content:encoded><![CDATA[<p>Hi Bill, glad to hear that you can take advantage of the MVVM and Sandbox Editor pattern in the Contacts application, and apply them to your business applications. Can&#8217;t wait to see your applications live in the web <img src="http://blog.intersoftsolutions.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Gower</title>
		<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/#comment-374</link>
		<dc:creator><![CDATA[Bill Gower]]></dc:creator>
		<pubDate>Wed, 12 Jan 2011 05:41:41 +0000</pubDate>
		<guid isPermaLink="false">https://intersoftpt.wordpress.com/2011/01/11/clientui-devforce-part-2-contact-sandbox-editor/#comment-374</guid>
		<description><![CDATA[What would I like to see in future versions of the appliation:

1. Handling of lookup tables and drop downs on the form.
2. Having a grid show detail lines on the form and the proper way to retrieve the rows and display them in the grid.
3. move the save routine to a unit of work pattern.]]></description>
		<content:encoded><![CDATA[<p>What would I like to see in future versions of the appliation:</p>
<p>1. Handling of lookup tables and drop downs on the form.<br />
2. Having a grid show detail lines on the form and the proper way to retrieve the rows and display them in the grid.<br />
3. move the save routine to a unit of work pattern.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Gower</title>
		<link>http://blog.intersoftsolutions.com/2011/01/clientui-devforce-part-2-contact-sandbox-editor/#comment-373</link>
		<dc:creator><![CDATA[Bill Gower]]></dc:creator>
		<pubDate>Wed, 12 Jan 2011 05:39:32 +0000</pubDate>
		<guid isPermaLink="false">https://intersoftpt.wordpress.com/2011/01/11/clientui-devforce-part-2-contact-sandbox-editor/#comment-373</guid>
		<description><![CDATA[This addition of the SandBox editor is an important step in the evolution of the application. While the Contact app in Part 1 was following MVVM and it worked well, it allowed access from many parts of the code to objects that didn&#039;t require that access. For example, the ListViewModel had the responsibility of creating the object, opening the editor, passing in the object and then determining the outcome of the add or edit. I like the approach of the ListView Model calling an add or an edit method and these methods create the objects, access the repository, call the editor and determine the outcome. It is a much cleaner approach and narrows the reponsibilities of the ListView Model. With my calls to the add or edit method I usually pass in the parent object so that the create of the child object and take what values it needs from the parent at the time of instantiation. Since the introduction of the ClientUI-Devforce Contacts App, I have been applying these principles and ideas to my own line of business app. I can&#039;t even begin to estimate how much time I have saved and how many less headaches I have had because of this sample. Many thanks to both Jimmy and Ward for their efforts in developing this application.]]></description>
		<content:encoded><![CDATA[<p>This addition of the SandBox editor is an important step in the evolution of the application. While the Contact app in Part 1 was following MVVM and it worked well, it allowed access from many parts of the code to objects that didn&#8217;t require that access. For example, the ListViewModel had the responsibility of creating the object, opening the editor, passing in the object and then determining the outcome of the add or edit. I like the approach of the ListView Model calling an add or an edit method and these methods create the objects, access the repository, call the editor and determine the outcome. It is a much cleaner approach and narrows the reponsibilities of the ListView Model. With my calls to the add or edit method I usually pass in the parent object so that the create of the child object and take what values it needs from the parent at the time of instantiation. Since the introduction of the ClientUI-Devforce Contacts App, I have been applying these principles and ideas to my own line of business app. I can&#8217;t even begin to estimate how much time I have saved and how many less headaches I have had because of this sample. Many thanks to both Jimmy and Ward for their efforts in developing this application.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
