Commit 5c13e4f

mokhan <mokhan@ce5e1baf-6525-42e4-a1b2-857ea38da20a>
2009-03-30 00:49:47
git-svn-id: https://svn.xp-dev.com/svn/mokhan-mo.money@125 ce5e1baf-6525-42e4-a1b2-857ea38da20a
1 parent 4d3d498
Changed files (5)
trunk/product/MyMoney/Presentation/Views/updates/CheckForUpdatesView.cs
@@ -49,7 +49,6 @@ namespace MoMoney.Presentation.Views.updates
                                  ux_dont_update_button.Enabled = false;
                                  ux_cancel_button.Enabled = false;
                                  Show();
-                                 //ShowDialog();
                              });
         }
 
trunk/product/MyMoney/Tasks/infrastructure/updating/CommandFactory.cs
@@ -0,0 +1,17 @@
+using MoMoney.Utility.Core;
+
+namespace MoMoney.Tasks.infrastructure.updating
+{
+    public interface ICommandFactory
+    {
+        ICommand create_for<T>(ICallback<T> item, IQuery<T> query);
+    }
+
+    public class CommandFactory : ICommandFactory
+    {
+        public ICommand create_for<T>(ICallback<T> item, IQuery<T> query)
+        {
+            return new RunQueryCommand<T>(item, new ProcessQueryCommand<T>(query));
+        }
+    }
+}
\ No newline at end of file
trunk/product/MyMoney/Tasks/infrastructure/updating/DisplayNextAvailableVersion.cs
@@ -12,16 +12,18 @@ namespace MoMoney.Tasks.infrastructure.updating
     {
         readonly IWhatIsTheAvailableVersion query;
         readonly ICommandProcessor processor;
+        readonly ICommandFactory factory;
 
-        public DisplayNextAvailableVersion(IWhatIsTheAvailableVersion query, ICommandProcessor processor)
+        public DisplayNextAvailableVersion(IWhatIsTheAvailableVersion query, ICommandProcessor processor, ICommandFactory factory)
         {
             this.query = query;
+            this.factory = factory;
             this.processor = processor;
         }
 
         public void run(ICallback<ApplicationVersion> item)
         {
-            processor.add(new RunQueryCommand<ApplicationVersion>(item, new ProcessQueryCommand<ApplicationVersion>(query)));
+            processor.add(factory.create_for(item, query));
         }
     }
 }
\ No newline at end of file
trunk/product/MyMoney/Tasks/infrastructure/updating/ProcessQueryCommand.cs
@@ -1,5 +1,3 @@
-using System.Threading;
-using MoMoney.Infrastructure.Container;
 using MoMoney.Utility.Core;
 
 namespace MoMoney.Tasks.infrastructure.updating
@@ -11,22 +9,15 @@ namespace MoMoney.Tasks.infrastructure.updating
     public class ProcessQueryCommand<T> : IProcessQueryCommand<T>
     {
         readonly IQuery<T> query;
-        readonly SynchronizationContext context;
 
-        public ProcessQueryCommand(IQuery<T> query) : this(query, resolve.dependency_for<SynchronizationContext>())
-        {
-        }
-
-        public ProcessQueryCommand(IQuery<T> query, SynchronizationContext context)
+        public ProcessQueryCommand(IQuery<T> query)
         {
             this.query = query;
-            this.context = context;
         }
 
         public void run(ICallback<T> item)
         {
-            var result = query.fetch();
-            context.Post(x => item.run(result), null);
+            item.run(query.fetch());
         }
     }
 }
\ No newline at end of file
trunk/product/MyMoney/MyMoney.csproj
@@ -560,6 +560,7 @@
     <Compile Include="Tasks\application\CustomerTasks.cs" />
     <Compile Include="Tasks\application\IncomeTasks.cs" />
     <Compile Include="Tasks\infrastructure\LogFileTasks.cs" />
+    <Compile Include="Tasks\infrastructure\updating\CommandFactory.cs" />
     <Compile Include="Tasks\infrastructure\updating\DisplayNextAvailableVersion.cs" />
     <Compile Include="Tasks\infrastructure\updating\ProcessQueryCommand.cs" />
     <Compile Include="Tasks\infrastructure\updating\RunQueryCommand.cs" />