Commit 275db5f

mo khan <mo@mokhan.ca>
2010-01-30 05:33:04
copied over icons and images files in to visual studio so that the app can be run from visual studio.
1 parent 457091b
Changed files (188)
product
client
boot
boot
icons
images
Modules
database
presentation
service.infrastructure
commons
infrastructure
product/client/boot/boot/container/WireUpTheContainer.cs
@@ -4,6 +4,9 @@ using Gorilla.Commons.Infrastructure.Reflection;
 using gorilla.commons.infrastructure.thirdparty.Autofac;
 using gorilla.commons.utility;
 using MoMoney.boot.container.registration;
+using momoney.database;
+using MoMoney.Presentation;
+using momoney.service.infrastructure;
 using Assembly = System.Reflection.Assembly;
 
 namespace MoMoney.boot.container
@@ -24,7 +27,12 @@ namespace MoMoney.boot.container
                 .then(new WireUpThePresentationModules(registry))
                 .then(new WireUpTheViewsInToThe(registry))
                 .then(new WireUpTheReportsInToThe(registry))
-                .run(new ApplicationAssembly(Assembly.GetExecutingAssembly()));
+                .run(new ApplicationAssembly(
+                         Assembly.GetExecutingAssembly(),
+                         typeof (DatabaseAssembly).Assembly,
+                         typeof (PresentationAssembly).Assembly,
+                         typeof (InfrastructureAssembly).Assembly
+                         ));
 
             Resolve.initialize_with(registry.build());
         }
product/client/boot/icons/autoList.ico
Binary file
product/client/boot/icons/autoplay.ico
Binary file
product/client/boot/icons/autorun.ico
Binary file
product/client/boot/icons/Binoculars.ico
Binary file
product/client/boot/icons/bluraymovie.ico
Binary file
product/client/boot/icons/Book3.ico
Binary file
product/client/boot/icons/Box_Blue.ico
Binary file
product/client/boot/icons/Box_Green.ico
Binary file
product/client/boot/icons/Box_Grey.ico
Binary file
product/client/boot/icons/Box_Orange.ico
Binary file
product/client/boot/icons/Box_Red.ico
Binary file
product/client/boot/icons/Box_Yellow.ico
Binary file
product/client/boot/icons/burnCD.ico
Binary file
product/client/boot/icons/calculator.ico
Binary file
product/client/boot/icons/Camera.ico
Binary file
product/client/boot/icons/Cancel__Red.ico
Binary file
product/client/boot/icons/CD_Drive.ico
Binary file
product/client/boot/icons/CD_R.ico
Binary file
product/client/boot/icons/CD_ROM.ico
Binary file
product/client/boot/icons/CD_RW.ico
Binary file
product/client/boot/icons/CD_SV.ico
Binary file
product/client/boot/icons/CD_V.ico
Binary file
product/client/boot/icons/cdaudioplus.ico
Binary file
product/client/boot/icons/cdempty.ico
Binary file
product/client/boot/icons/cellphone.ico
Binary file
product/client/boot/icons/Checked_Shield_Green.ico
Binary file
product/client/boot/icons/Circle_Blue.ico
Binary file
product/client/boot/icons/Circle_Green.ico
Binary file
product/client/boot/icons/Circle_Grey.ico
Binary file
product/client/boot/icons/Circle_Orange.ico
Binary file
product/client/boot/icons/Circle_Red.ico
Binary file
product/client/boot/icons/Circle_Yellow.ico
Binary file
product/client/boot/icons/Clock4.ico
Binary file
product/client/boot/icons/Close_Box_Red.ico
Binary file
product/client/boot/icons/cmd.ico
Binary file
product/client/boot/icons/compactflash.ico
Binary file
product/client/boot/icons/computer.ico
Binary file
product/client/boot/icons/connect_toNetwork.ico
Binary file
product/client/boot/icons/ConnectionManager.ico
Binary file
product/client/boot/icons/copy.ico
Binary file
product/client/boot/icons/CPU.ico
Binary file
product/client/boot/icons/cut.ico
Binary file
product/client/boot/icons/Default_Fax.ico
Binary file
product/client/boot/icons/delete.ico
Binary file
product/client/boot/icons/DeleteRed.ico
Binary file
product/client/boot/icons/Dialup.ico
Binary file
product/client/boot/icons/DrawingPin1_Blue.ico
Binary file
product/client/boot/icons/DrawingPin2_Blue.ico
Binary file
product/client/boot/icons/DVD.ico
Binary file
product/client/boot/icons/DVD_R.ico
Binary file
product/client/boot/icons/DVD_ROM.ico
Binary file
product/client/boot/icons/dvddrive.ico
Binary file
product/client/boot/icons/DVDplusR.ico
Binary file
product/client/boot/icons/dvdram.ico
Binary file
product/client/boot/icons/dvdrw.ico
Binary file
product/client/boot/icons/emd.ico
Binary file
product/client/boot/icons/EmptyDrive.ico
Binary file
product/client/boot/icons/Enhanced_DVD.ico
Binary file
product/client/boot/icons/EnhancedAudioCD.ico
Binary file
product/client/boot/icons/Favorites.ico
Binary file
product/client/boot/icons/Fax.ico
Binary file
product/client/boot/icons/Flag1_Green.ico
Binary file
product/client/boot/icons/Flag2_Green.ico
Binary file
product/client/boot/icons/FloppyDisk.ico
Binary file
product/client/boot/icons/Folder_Back.ico
Binary file
product/client/boot/icons/folder_closed_16x16.ico
Binary file
product/client/boot/icons/folder_open.ico
Binary file
product/client/boot/icons/Folder_stuffed.ico
Binary file
product/client/boot/icons/foldergreen.ico
Binary file
product/client/boot/icons/FolderOpened_Yellow.ico
Binary file
product/client/boot/icons/font.ico
Binary file
product/client/boot/icons/gamecontroller.ico
Binary file
product/client/boot/icons/Generic_Application.ico
Binary file
product/client/boot/icons/Generic_Device.ico
Binary file
product/client/boot/icons/Generic_Document.ico
Binary file
product/client/boot/icons/generic_picture.ico
Binary file
product/client/boot/icons/GenericMovieClip.ico
Binary file
product/client/boot/icons/Globe.ico
Binary file
product/client/boot/icons/Globe1.ico
Binary file
product/client/boot/icons/Hard_Drive.ico
Binary file
product/client/boot/icons/hddvdmovie.ico
Binary file
product/client/boot/icons/help.ico
Binary file
product/client/boot/icons/Help_Circle_Blue.ico
Binary file
product/client/boot/icons/Home.ico
Binary file
product/client/boot/icons/Hourglass.ico
Binary file
product/client/boot/icons/Image_File.ico
Binary file
product/client/boot/icons/Info_Box_Blue.ico
Binary file
product/client/boot/icons/install.ico
Binary file
product/client/boot/icons/Journal.ico
Binary file
product/client/boot/icons/keybd.ico
Binary file
product/client/boot/icons/Keys.ico
Binary file
product/client/boot/icons/Laptop.ico
Binary file
product/client/boot/icons/Magnifier2.ico
Binary file
product/client/boot/icons/Minimize_Box_Blue.ico
Binary file
product/client/boot/icons/Minus_Circle_Green.ico
Binary file
product/client/boot/icons/MixedMediaFile.ico
Binary file
product/client/boot/icons/mokhan.ico
Binary file
product/client/boot/icons/Monitor.ico
Binary file
product/client/boot/icons/Mouse.ico
Binary file
product/client/boot/icons/move.ico
Binary file
product/client/boot/icons/mynet.ico
Binary file
product/client/boot/icons/Network.ico
Binary file
product/client/boot/icons/network_center.ico
Binary file
product/client/boot/icons/Network_Drive.ico
Binary file
product/client/boot/icons/Network_Fax.ico
Binary file
product/client/boot/icons/network_fax_default.ico
Binary file
product/client/boot/icons/Network_Folder.ico
Binary file
product/client/boot/icons/Network_Internet.ico
Binary file
product/client/boot/icons/Network_Map.ico
Binary file
product/client/boot/icons/network_printer.ico
Binary file
product/client/boot/icons/PaperClip1_Black.ico
Binary file
product/client/boot/icons/PaperClip2_Black.ico
Binary file
product/client/boot/icons/PaperClip3_Black.ico
Binary file
product/client/boot/icons/PaperClip4_Black.ico
Binary file
product/client/boot/icons/paste.ico
Binary file
product/client/boot/icons/pdf_document.ico
Binary file
product/client/boot/icons/Pencil3.ico
Binary file
product/client/boot/icons/personalization.ico
Binary file
product/client/boot/icons/Plus__Orange.ico
Binary file
product/client/boot/icons/Power__Yellow.ico
Binary file
product/client/boot/icons/printer.ico
Binary file
product/client/boot/icons/printof.ico
Binary file
product/client/boot/icons/ram.ico
Binary file
product/client/boot/icons/RecycleBin.ico
Binary file
product/client/boot/icons/Rename.ico
Binary file
product/client/boot/icons/replace.ico
Binary file
product/client/boot/icons/Ruler1.ico
Binary file
product/client/boot/icons/Scissors.ico
Binary file
product/client/boot/icons/search.ico
Binary file
product/client/boot/icons/SecurityLock.ico
Binary file
product/client/boot/icons/Settings.ico
Binary file
product/client/boot/icons/Setup_Install.ico
Binary file
product/client/boot/icons/Shield_Blue.ico
Binary file
product/client/boot/icons/Shield_Green.ico
Binary file
product/client/boot/icons/Shield_Grey.ico
Binary file
product/client/boot/icons/Shield_Red.ico
Binary file
product/client/boot/icons/Shield_Yellow.ico
Binary file
product/client/boot/icons/Shutdown_Box_Red.ico
Binary file
product/client/boot/icons/smartmed.ico
Binary file
product/client/boot/icons/UnknownDrive.ico
Binary file
product/client/boot/icons/User1.ico
Binary file
product/client/boot/icons/Users.ico
Binary file
product/client/boot/icons/VideoCamera.ico
Binary file
product/client/boot/icons/VPN.ico
Binary file
product/client/boot/icons/warning.ico
Binary file
product/client/boot/icons/Warning_Shield_Grey.ico
Binary file
product/client/boot/icons/Wizard1.ico
Binary file
product/client/boot/icons/XAML_file.ico
Binary file
product/client/boot/icons/zippedFile.ico
Binary file
product/client/boot/images/company_details.png
Binary file
product/client/boot/images/company_details_disabled.png
Binary file
product/client/boot/images/company_details_selected.png
Binary file
product/client/boot/images/generate_report.png
Binary file
product/client/boot/images/generate_report_disabled.png
Binary file
product/client/boot/images/generate_report_selected.png
Binary file
product/client/boot/images/home.png
Binary file
product/client/boot/images/new_file.png
Binary file
product/client/boot/images/new_file_selected.png
Binary file
product/client/boot/images/open_file.png
Binary file
product/client/boot/images/open_file_selected.png
Binary file
product/client/boot/images/paying_a_bill.jpg
Binary file
product/client/boot/images/plus.gif
Binary file
product/client/boot/images/reading_a_bill.jpg
Binary file
product/client/boot/images/splash_screen.gif
Binary file
product/client/boot/images/unsaved.gif
Binary file
product/client/boot/Modules/TitleBarPresenterSpecs.cs
@@ -3,7 +3,6 @@ using Gorilla.Commons.Testing;
 using momoney.presentation.model.eventing;
 using MoMoney.Presentation.Model.Projects;
 using MoMoney.Presentation.Views;
-using MoMoney.Service.Infrastructure.Eventing;
 
 namespace momoney.modules
 {
@@ -14,12 +13,10 @@ namespace momoney.modules
         {
             project = the_dependency<IProjectController>();
             view = the_dependency<ITitleBar>();
-            broker = the_dependency<EventAggregator>();
         };
 
-        protected static ITitleBar view;
-        protected static EventAggregator broker;
-        protected static IProjectController project;
+        static protected ITitleBar view;
+        static protected IProjectController project;
     }
 
     public class when_initializing_the_title_bar_for_the_first_time : behaves_like_a_title_bar_presenter
@@ -35,7 +32,10 @@ namespace momoney.modules
     {
         it should_display_an_asterik_in_the_title = () => view.was_told_to(x => x.append_asterik());
 
-        context c = () => { dto = new UnsavedChangesEvent(); };
+        context c = () =>
+        {
+            dto = new UnsavedChangesEvent();
+        };
 
         because b = () => sut.notify(dto);
 
product/client/boot/boot.csproj
@@ -242,6 +242,503 @@
       <Name>service.contracts</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="icons\autoList.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\autoplay.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\autorun.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Binoculars.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\bluraymovie.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Book3.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Box_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Box_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Box_Grey.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Box_Orange.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Box_Red.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Box_Yellow.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\burnCD.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\calculator.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Camera.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Cancel__Red.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\cdaudioplus.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\cdempty.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CD_Drive.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CD_R.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CD_ROM.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CD_RW.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CD_SV.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CD_V.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\cellphone.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Checked_Shield_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Circle_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Circle_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Circle_Grey.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Circle_Orange.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Circle_Red.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Circle_Yellow.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Clock4.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Close_Box_Red.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\cmd.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\compactflash.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\computer.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\ConnectionManager.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\connect_toNetwork.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\copy.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\CPU.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\cut.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Default_Fax.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\delete.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DeleteRed.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Dialup.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DrawingPin1_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DrawingPin2_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DVD.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\dvddrive.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DVDplusR.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\dvdram.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\dvdrw.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DVD_R.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\DVD_ROM.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\emd.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\EmptyDrive.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\EnhancedAudioCD.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Enhanced_DVD.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Favorites.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Fax.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Flag1_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Flag2_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\FloppyDisk.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\foldergreen.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\FolderOpened_Yellow.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Folder_Back.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\folder_closed_16x16.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\folder_open.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Folder_stuffed.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\font.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\gamecontroller.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\GenericMovieClip.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Generic_Application.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Generic_Device.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Generic_Document.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\generic_picture.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Globe.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Globe1.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Hard_Drive.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\hddvdmovie.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\help.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Help_Circle_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Home.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Hourglass.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Image_File.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Info_Box_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\install.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Journal.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\keybd.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Keys.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Laptop.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Magnifier2.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Minimize_Box_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Minus_Circle_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\MixedMediaFile.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\mokhan.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Monitor.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Mouse.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\move.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\mynet.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Network.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\network_center.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Network_Drive.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Network_Fax.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\network_fax_default.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Network_Folder.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Network_Internet.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Network_Map.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\network_printer.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\PaperClip1_Black.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\PaperClip2_Black.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\PaperClip3_Black.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\PaperClip4_Black.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\paste.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\pdf_document.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Pencil3.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\personalization.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Plus__Orange.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Power__Yellow.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\printer.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\printof.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\ram.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\RecycleBin.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Rename.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\replace.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Ruler1.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Scissors.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\search.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\SecurityLock.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Settings.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Setup_Install.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Shield_Blue.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Shield_Green.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Shield_Grey.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Shield_Red.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Shield_Yellow.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Shutdown_Box_Red.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\smartmed.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\UnknownDrive.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\User1.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Users.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\VideoCamera.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\VPN.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\warning.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Warning_Shield_Grey.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\Wizard1.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\XAML_file.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="icons\zippedFile.ico">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\company_details.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\company_details_disabled.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\company_details_selected.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\generate_report.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\generate_report_disabled.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\generate_report_selected.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\home.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\new_file.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\new_file_selected.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\open_file.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\open_file_selected.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\paying_a_bill.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\plus.gif">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\reading_a_bill.jpg">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\splash_screen.gif">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="images\unsaved.gif">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
product/client/boot/bootstrap.cs
@@ -1,15 +1,15 @@
-using System;
-using MoMoney.boot;
-using MoMoney.Presentation.Winforms.Views;
-
-namespace MoMoney
-{
-    public class Bootstrap : WindowsFormsApplication<ApplicationShell>
-    {
-        [STAThread]
-        static void Main()
-        {
-            new Bootstrap().run();
-        }
-    }
+using System;
+using MoMoney.boot;
+using MoMoney.Presentation.Winforms.Views;
+
+namespace MoMoney
+{
+    public class Bootstrap : WindowsFormsApplication<ApplicationShell>
+    {
+        [STAThread]
+        static void Main()
+        {
+            new Bootstrap().run();
+        }
+    }
 }
\ No newline at end of file
product/client/database/db4o/ConfigureObjectContainerStep.cs
@@ -1,20 +1,19 @@
-using Db4objects.Db4o;
-using Db4objects.Db4o.Events;
-using Gorilla.Commons.Infrastructure.Logging;
-using gorilla.commons.utility;
-
-namespace momoney.database.db4o
-{
-    public interface IConfigureObjectContainerStep : Configuration<IObjectContainer> {}
-
-    public class ConfigureObjectContainerStep : IConfigureObjectContainerStep
-    {
-        public void configure(IObjectContainer item)
-        {
-            var registry = EventRegistryFactory.ForObjectContainer(item);
-            registry.ClassRegistered += (sender, args) => this.log().debug("class registered: {0}", args.ClassMetadata());
-            registry.Instantiated += (sender, args) => this.log().debug("class instantiated: {0}", args.Object.GetType().Name);
-            registry.Committed += (sender, args) => this.log().debug("added: {0}, updated: {1}, deleted: {2}", args.Added, args.Updated, args.Deleted);
-        }
-    }
+using Db4objects.Db4o;
+using Db4objects.Db4o.Events;
+using gorilla.commons.utility;
+
+namespace momoney.database.db4o
+{
+    public interface IConfigureObjectContainerStep : Configuration<IObjectContainer> {}
+
+    public class ConfigureObjectContainerStep : IConfigureObjectContainerStep
+    {
+        public void configure(IObjectContainer item)
+        {
+            var registry = EventRegistryFactory.ForObjectContainer(item);
+            //registry.ClassRegistered += (sender, args) => this.log().debug("class registered: {0}", args.ClassMetadata());
+            //registry.Instantiated += (sender, args) => this.log().debug("class instantiated: {0}", args.Object.GetType().Name);
+            //registry.Committed += (sender, args) => this.log().debug("added: {0}, updated: {1}, deleted: {2}", args.Added, args.Updated, args.Deleted);
+        }
+    }
 }
\ No newline at end of file
product/client/database/db4o/ConnectionFactory.cs
@@ -1,34 +1,34 @@
-using Db4objects.Db4o;
-using Db4objects.Db4o.Config;
-using Gorilla.Commons.Infrastructure.FileSystem;
-using gorilla.commons.utility;
-using momoney.database.transactions;
-
-namespace momoney.database.db4o
-{
-    public class ConnectionFactory : IConnectionFactory
-    {
-        readonly IConfigureDatabaseStep setup;
-        readonly IConfigureObjectContainerStep setup_container;
-
-        public ConnectionFactory(IConfigureDatabaseStep setup, IConfigureObjectContainerStep setup_container)
-        {
-            this.setup = setup;
-            this.setup_container = setup_container;
-        }
-
-        public DatabaseConnection open_connection_to(File the_path_to_the_database_file)
-        {
-            var configuration = Db4oFactory.NewConfiguration();
-            setup.configure(configuration);
-            return new ObjectDatabaseConnection(get_container(the_path_to_the_database_file, configuration));
-        }
-
-        IObjectContainer get_container(File the_path_to_the_database_file, IConfiguration configuration)
-        {
-            return Db4oFactory
-                .OpenFile(configuration, the_path_to_the_database_file.path)
-                .and_configure_with(setup_container);
-        }
-    }
+using Db4objects.Db4o;
+using Db4objects.Db4o.Config;
+using Gorilla.Commons.Infrastructure.FileSystem;
+using gorilla.commons.utility;
+using momoney.database.transactions;
+
+namespace momoney.database.db4o
+{
+    public class ConnectionFactory : IConnectionFactory
+    {
+        readonly IConfigureDatabaseStep setup;
+        readonly IConfigureObjectContainerStep setup_container;
+
+        public ConnectionFactory(IConfigureDatabaseStep setup, IConfigureObjectContainerStep setup_container)
+        {
+            this.setup = setup;
+            this.setup_container = setup_container;
+        }
+
+        public DatabaseConnection open_connection_to(File the_path_to_the_database_file)
+        {
+            var configuration = Db4oFactory.NewConfiguration();
+            setup.configure(configuration);
+            return new ObjectDatabaseConnection(get_container(the_path_to_the_database_file, configuration));
+        }
+
+        IObjectContainer get_container(File the_path_to_the_database_file, IConfiguration configuration)
+        {
+            return Db4oFactory
+                .OpenFile(configuration, the_path_to_the_database_file.path)
+                .and_configure_with(setup_container);
+        }
+    }
 }
\ No newline at end of file
product/client/database/database.csproj
@@ -1,166 +1,167 @@
-๏ปฟ<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{580E68A8-EDEE-4350-8BBE-A053645B0F83}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>momoney.database</RootNamespace>
-    <AssemblyName>momoney.database</AssemblyName>
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="bdddoc, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\build\lib\test\bdd.doc\bdddoc.dll</HintPath>
-    </Reference>
-    <Reference Include="Db4objects.Db4o, Version=7.5.57.11498, Culture=neutral, PublicKeyToken=6199cd4f203aa8eb, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\build\lib\app\db40\Db4objects.Db4o.dll</HintPath>
-    </Reference>
-    <Reference Include="Db4objects.Db4o.Linq, Version=7.5.57.11498, Culture=neutral, PublicKeyToken=6199cd4f203aa8eb, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\db40\Db4objects.Db4o.Linq.dll</HintPath>
-    </Reference>
-    <Reference Include="developwithpassion.bdd, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\build\lib\test\developwithpassion\developwithpassion.bdd.dll</HintPath>
-    </Reference>
-    <Reference Include="gorilla.commons.infrastructure, Version=2009.5.5.1633, Culture=neutral, PublicKeyToken=687787ccb6c36c9f, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\gorilla\gorilla.commons.infrastructure.dll</HintPath>
-    </Reference>
-    <Reference Include="gorilla.commons.utility, Version=2009.5.5.1633, Culture=neutral, PublicKeyToken=687787ccb6c36c9f, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\app\gorilla\gorilla.commons.utility.dll</HintPath>
-    </Reference>
-    <Reference Include="gorilla.testing, Version=2009.5.5.194, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\test\gorilla\gorilla.testing.dll</HintPath>
-    </Reference>
-    <Reference Include="MbUnit.Framework, Version=2.4.2.175, Culture=neutral, PublicKeyToken=5e72ecd30bc408d5">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\build\lib\test\mbunit\MbUnit.Framework.dll</HintPath>
-    </Reference>
-    <Reference Include="Rhino.Mocks, Version=3.5.0.1337, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\build\lib\test\rhino.mocks\Rhino.Mocks.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Core">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Xml.Linq">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Data.DataSetExtensions">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="db4o\ConfigureObjectContainerStep.cs" />
-    <Compile Include="db4o\Spiking\db40_spike_specs.cs" />
-    <Compile Include="repositories\AccountHolderRepository.cs" />
-    <Compile Include="repositories\BillRepository.cs" />
-    <Compile Include="repositories\CompanyRepository.cs" />
-    <Compile Include="repositories\IncomeRepository.cs" />
-    <Compile Include="db4o\ConfigureDatabaseStep.cs" />
-    <Compile Include="db4o\ConnectionFactory.cs" />
-    <Compile Include="ObjectDatabase.cs" />
-    <Compile Include="db4o\ObjectDatabaseConnection.cs" />
-    <Compile Include="IConnectionFactory.cs" />
-    <Compile Include="IDatabaseConfiguration.cs" />
-    <Compile Include="transactions\ChangeTracker.cs" />
-    <Compile Include="transactions\ChangeTrackerFactory.cs" />
-    <Compile Include="transactions\ChangeTrackerFactorySpecs.cs" />
-    <Compile Include="transactions\ChangeTrackerSpecs.cs" />
-    <Compile Include="transactions\Context.cs" />
-    <Compile Include="transactions\ContextFactory.cs" />
-    <Compile Include="transactions\ContextFactorySpecs.cs" />
-    <Compile Include="transactions\CurrentThread.cs" />
-    <Compile Include="transactions\DeleteFromDatabase.cs" />
-    <Compile Include="transactions\IChangeTracker.cs" />
-    <Compile Include="transactions\IChangeTrackerFactory.cs" />
-    <Compile Include="transactions\IContext.cs" />
-    <Compile Include="transactions\IDatabase.cs" />
-    <Compile Include="transactions\DatabaseConnection.cs" />
-    <Compile Include="transactions\IdentityMapProxy.cs" />
-    <Compile Include="transactions\IdentityMapSpecs.cs" />
-    <Compile Include="transactions\IIdentityMap.cs" />
-    <Compile Include="transactions\IKey.cs" />
-    <Compile Include="transactions\IScopedStorage.cs" />
-    <Compile Include="transactions\DatabaseCommand.cs" />
-    <Compile Include="transactions\DatabaseCommandRegistry.cs" />
-    <Compile Include="transactions\IThread.cs" />
-    <Compile Include="transactions\PerThread.cs" />
-    <Compile Include="transactions\PerThreadScopedStorage.cs" />
-    <Compile Include="transactions\PerThreadScopedStorageSpecs.cs" />
-    <Compile Include="transactions\SaveOrUpdateFromDatabase.cs" />
-    <Compile Include="transactions\Session.cs" />
-    <Compile Include="transactions\SessionFactory.cs" />
-    <Compile Include="transactions\SessionFactorySpecs.cs" />
-    <Compile Include="transactions\SessionNotStartedException.cs" />
-    <Compile Include="transactions\SessionProvider.cs" />
-    <Compile Include="transactions\SessionSpecs.cs" />
-    <Compile Include="transactions\SingletonScopedStorage.cs" />
-    <Compile Include="transactions\ObjectDatabaseCommandRegistry.cs" />
-    <Compile Include="transactions\TrackerEntry.cs" />
-    <Compile Include="transactions\TrackerEntryMapper.cs" />
-    <Compile Include="transactions\TrackerEntrySpecs.cs" />
-    <Compile Include="transactions\Transaction.cs" />
-    <Compile Include="transactions\TransactionSpecs.cs" />
-    <Compile Include="transactions\TypedKey.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\commons\infrastructure\infrastructure.csproj">
-      <Project>{AA5EEED9-4531-45F7-AFCD-AD9717D2E405}</Project>
-      <Name>infrastructure</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\commons\testing\test.helpers.csproj">
-      <Project>{44E65096-9657-4716-90F8-4535BABE8039}</Project>
-      <Name>test.helpers</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\commons\utility\utility.csproj">
-      <Project>{DD8FD29E-7424-415C-9BA3-7D9F6ECBA161}</Project>
-      <Name>utility %28commons\utility%29</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\Domain\domain.csproj">
-      <Project>{BE790BCC-4412-473F-9D0A-5AA48FE7A74F}</Project>
-      <Name>domain</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
+๏ปฟ<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{580E68A8-EDEE-4350-8BBE-A053645B0F83}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>momoney.database</RootNamespace>
+    <AssemblyName>momoney.database</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="bdddoc, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\build\lib\test\bdd.doc\bdddoc.dll</HintPath>
+    </Reference>
+    <Reference Include="Db4objects.Db4o, Version=7.5.57.11498, Culture=neutral, PublicKeyToken=6199cd4f203aa8eb, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\build\lib\app\db40\Db4objects.Db4o.dll</HintPath>
+    </Reference>
+    <Reference Include="Db4objects.Db4o.Linq, Version=7.5.57.11498, Culture=neutral, PublicKeyToken=6199cd4f203aa8eb, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\build\lib\app\db40\Db4objects.Db4o.Linq.dll</HintPath>
+    </Reference>
+    <Reference Include="developwithpassion.bdd, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\build\lib\test\developwithpassion\developwithpassion.bdd.dll</HintPath>
+    </Reference>
+    <Reference Include="gorilla.commons.infrastructure, Version=2009.5.5.1633, Culture=neutral, PublicKeyToken=687787ccb6c36c9f, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\build\lib\app\gorilla\gorilla.commons.infrastructure.dll</HintPath>
+    </Reference>
+    <Reference Include="gorilla.commons.utility, Version=2009.5.5.1633, Culture=neutral, PublicKeyToken=687787ccb6c36c9f, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\build\lib\app\gorilla\gorilla.commons.utility.dll</HintPath>
+    </Reference>
+    <Reference Include="gorilla.testing, Version=2009.5.5.194, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\build\lib\test\gorilla\gorilla.testing.dll</HintPath>
+    </Reference>
+    <Reference Include="MbUnit.Framework, Version=2.4.2.175, Culture=neutral, PublicKeyToken=5e72ecd30bc408d5">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\build\lib\test\mbunit\MbUnit.Framework.dll</HintPath>
+    </Reference>
+    <Reference Include="Rhino.Mocks, Version=3.5.0.1337, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\build\lib\test\rhino.mocks\Rhino.Mocks.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="DatabaseAssembly.cs" />
+    <Compile Include="db4o\ConfigureObjectContainerStep.cs" />
+    <Compile Include="db4o\Spiking\db40_spike_specs.cs" />
+    <Compile Include="repositories\AccountHolderRepository.cs" />
+    <Compile Include="repositories\BillRepository.cs" />
+    <Compile Include="repositories\CompanyRepository.cs" />
+    <Compile Include="repositories\IncomeRepository.cs" />
+    <Compile Include="db4o\ConfigureDatabaseStep.cs" />
+    <Compile Include="db4o\ConnectionFactory.cs" />
+    <Compile Include="ObjectDatabase.cs" />
+    <Compile Include="db4o\ObjectDatabaseConnection.cs" />
+    <Compile Include="IConnectionFactory.cs" />
+    <Compile Include="IDatabaseConfiguration.cs" />
+    <Compile Include="transactions\ChangeTracker.cs" />
+    <Compile Include="transactions\ChangeTrackerFactory.cs" />
+    <Compile Include="transactions\ChangeTrackerFactorySpecs.cs" />
+    <Compile Include="transactions\ChangeTrackerSpecs.cs" />
+    <Compile Include="transactions\Context.cs" />
+    <Compile Include="transactions\ContextFactory.cs" />
+    <Compile Include="transactions\ContextFactorySpecs.cs" />
+    <Compile Include="transactions\CurrentThread.cs" />
+    <Compile Include="transactions\DeleteFromDatabase.cs" />
+    <Compile Include="transactions\IChangeTracker.cs" />
+    <Compile Include="transactions\IChangeTrackerFactory.cs" />
+    <Compile Include="transactions\IContext.cs" />
+    <Compile Include="transactions\IDatabase.cs" />
+    <Compile Include="transactions\DatabaseConnection.cs" />
+    <Compile Include="transactions\IdentityMapProxy.cs" />
+    <Compile Include="transactions\IdentityMapSpecs.cs" />
+    <Compile Include="transactions\IIdentityMap.cs" />
+    <Compile Include="transactions\IKey.cs" />
+    <Compile Include="transactions\IScopedStorage.cs" />
+    <Compile Include="transactions\DatabaseCommand.cs" />
+    <Compile Include="transactions\DatabaseCommandRegistry.cs" />
+    <Compile Include="transactions\IThread.cs" />
+    <Compile Include="transactions\PerThread.cs" />
+    <Compile Include="transactions\PerThreadScopedStorage.cs" />
+    <Compile Include="transactions\PerThreadScopedStorageSpecs.cs" />
+    <Compile Include="transactions\SaveOrUpdateFromDatabase.cs" />
+    <Compile Include="transactions\Session.cs" />
+    <Compile Include="transactions\SessionFactory.cs" />
+    <Compile Include="transactions\SessionFactorySpecs.cs" />
+    <Compile Include="transactions\SessionNotStartedException.cs" />
+    <Compile Include="transactions\SessionProvider.cs" />
+    <Compile Include="transactions\SessionSpecs.cs" />
+    <Compile Include="transactions\SingletonScopedStorage.cs" />
+    <Compile Include="transactions\ObjectDatabaseCommandRegistry.cs" />
+    <Compile Include="transactions\TrackerEntry.cs" />
+    <Compile Include="transactions\TrackerEntryMapper.cs" />
+    <Compile Include="transactions\TrackerEntrySpecs.cs" />
+    <Compile Include="transactions\Transaction.cs" />
+    <Compile Include="transactions\TransactionSpecs.cs" />
+    <Compile Include="transactions\TypedKey.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\commons\infrastructure\infrastructure.csproj">
+      <Project>{AA5EEED9-4531-45F7-AFCD-AD9717D2E405}</Project>
+      <Name>infrastructure</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\commons\testing\test.helpers.csproj">
+      <Project>{44E65096-9657-4716-90F8-4535BABE8039}</Project>
+      <Name>test.helpers</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\commons\utility\utility.csproj">
+      <Project>{DD8FD29E-7424-415C-9BA3-7D9F6ECBA161}</Project>
+      <Name>utility %28commons\utility%29</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Domain\domain.csproj">
+      <Project>{BE790BCC-4412-473F-9D0A-5AA48FE7A74F}</Project>
+      <Name>domain</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
 </Project>
\ No newline at end of file
product/client/database/DatabaseAssembly.cs
@@ -0,0 +1,7 @@
+namespace momoney.database
+{
+    public class DatabaseAssembly
+    {
+        
+    }
+}
\ No newline at end of file
product/client/database/IDatabaseConfiguration.cs
@@ -1,11 +1,11 @@
-using Gorilla.Commons.Infrastructure.FileSystem;
-
-namespace momoney.database
-{
-    public interface IDatabaseConfiguration
-    {
-        void open(File file);
-        void copy_to(string path);
-        void close(string name);
-    }
+using Gorilla.Commons.Infrastructure.FileSystem;
+
+namespace momoney.database
+{
+    public interface IDatabaseConfiguration
+    {
+        void open(File file);
+        void copy_to(string path);
+        void close(string name);
+    }
 }
\ No newline at end of file
product/client/database/ObjectDatabase.cs
@@ -1,62 +1,62 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using Gorilla.Commons.Infrastructure.FileSystem;
-using gorilla.commons.utility;
-using momoney.database.transactions;
-using File = Gorilla.Commons.Infrastructure.FileSystem.File;
-
-namespace momoney.database
-{
-    public class ObjectDatabase : IDatabase, IDatabaseConfiguration
-    {
-        readonly IConnectionFactory factory;
-        File path;
-
-        public ObjectDatabase(IConnectionFactory factory)
-        {
-            this.factory = factory;
-            path = new ApplicationFile(Path.GetTempFileName());
-        }
-
-        public IEnumerable<T> fetch_all<T>() where T : Identifiable<Guid>
-        {
-            using (var connection = factory.open_connection_to(path_to_database()))
-            {
-                return connection.query<T>().ToList();
-            }
-        }
-
-        public void apply(DatabaseCommand command)
-        {
-            using (var connection = factory.open_connection_to(path_to_database()))
-            {
-                command.run(connection);
-                connection.commit();
-            }
-        }
-
-        public void open(File file)
-        {
-            path = new ApplicationFile(Path.GetTempFileName());
-            file.copy_to(path.path);
-        }
-
-        public void copy_to(string new_path)
-        {
-            path.copy_to(new_path);
-        }
-
-        public void close(string name)
-        {
-            path.delete();
-            path = new ApplicationFile(Path.GetTempFileName());
-        }
-
-        File path_to_database()
-        {
-            return path;
-        }
-    }
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Gorilla.Commons.Infrastructure.FileSystem;
+using gorilla.commons.utility;
+using momoney.database.transactions;
+using File = Gorilla.Commons.Infrastructure.FileSystem.File;
+
+namespace momoney.database
+{
+    public class ObjectDatabase : IDatabase, IDatabaseConfiguration
+    {
+        readonly IConnectionFactory factory;
+        File path;
+
+        public ObjectDatabase(IConnectionFactory factory)
+        {
+            this.factory = factory;
+            path = new ApplicationFile(Path.GetTempFileName());
+        }
+
+        public IEnumerable<T> fetch_all<T>() where T : Identifiable<Guid>
+        {
+            using (var connection = factory.open_connection_to(path_to_database()))
+            {
+                return connection.query<T>().ToList();
+            }
+        }
+
+        public void apply(DatabaseCommand command)
+        {
+            using (var connection = factory.open_connection_to(path_to_database()))
+            {
+                command.run(connection);
+                connection.commit();
+            }
+        }
+
+        public void open(File file)
+        {
+            path = new ApplicationFile(Path.GetTempFileName());
+            file.copy_to(path.path);
+        }
+
+        public void copy_to(string new_path)
+        {
+            path.copy_to(new_path);
+        }
+
+        public void close(string name)
+        {
+            path.delete();
+            path = new ApplicationFile(Path.GetTempFileName());
+        }
+
+        File path_to_database()
+        {
+            return path;
+        }
+    }
 }
\ No newline at end of file
product/client/presentation/Model/Menu/File/SaveChangesPresenter.cs
@@ -1,70 +1,70 @@
-using System;
-using MoMoney.Presentation.Core;
-using momoney.presentation.model.menu.file;
-using MoMoney.Presentation.Model.Projects;
-using momoney.presentation.views;
-using MoMoney.Presentation.Views;
-
-namespace MoMoney.Presentation.Model.Menu.File
-{
-    public class SaveChangesPresenter : ISaveChangesCommand, DialogPresenter
-    {
-        readonly IProjectController current_project;
-        readonly ISaveChangesView view;
-        readonly ISaveAsCommand save_as_command;
-        ISaveChangesCallback callback;
-
-        protected SaveChangesPresenter()
-        {
-        }
-
-        public SaveChangesPresenter(IProjectController current_project, ISaveChangesView view, ISaveAsCommand save_as_command)
-        {
-            this.current_project = current_project;
-            this.save_as_command = save_as_command;
-            this.view = view;
-        }
-
-        public virtual void present(Shell shell)
-        {
-            throw new NotImplementedException();
-        }
-
-        public virtual void run(ISaveChangesCallback item)
-        {
-            callback = item;
-            if (current_project.has_unsaved_changes())
-            {
-                view.attach_to(this);
-                view.prompt_user_to_save();
-            }
-            else
-            {
-                item.not_saved();
-            }
-        }
-
-        public virtual void save()
-        {
-            if (current_project.has_been_saved_at_least_once())
-            {
-                current_project.save_changes();
-            }
-            else
-            {
-                save_as_command.run();
-            }
-            callback.saved();
-        }
-
-        public virtual void dont_save()
-        {
-            callback.not_saved();
-        }
-
-        public virtual void cancel()
-        {
-            callback.cancelled();
-        }
-    }
+using System;
+using MoMoney.Presentation.Core;
+using momoney.presentation.model.menu.file;
+using MoMoney.Presentation.Model.Projects;
+using momoney.presentation.views;
+using MoMoney.Presentation.Views;
+
+namespace MoMoney.Presentation.Model.Menu.File
+{
+    public class SaveChangesPresenter : ISaveChangesCommand, DialogPresenter
+    {
+        readonly IProjectController current_project;
+        readonly ISaveChangesView view;
+        readonly ISaveAsCommand save_as_command;
+        ISaveChangesCallback callback;
+
+        protected SaveChangesPresenter()
+        {
+        }
+
+        public SaveChangesPresenter(IProjectController current_project, ISaveChangesView view, ISaveAsCommand save_as_command)
+        {
+            this.current_project = current_project;
+            this.save_as_command = save_as_command;
+            this.view = view;
+        }
+
+        public virtual void present(Shell shell)
+        {
+            throw new NotImplementedException();
+        }
+
+        public virtual void run(ISaveChangesCallback item)
+        {
+            callback = item;
+            if (current_project.has_unsaved_changes())
+            {
+                view.attach_to(this);
+                view.prompt_user_to_save();
+            }
+            else
+            {
+                item.not_saved();
+            }
+        }
+
+        public virtual void save()
+        {
+            if (current_project.has_been_saved_at_least_once())
+            {
+                current_project.save_changes();
+            }
+            else
+            {
+                save_as_command.run();
+            }
+            callback.saved();
+        }
+
+        public virtual void dont_save()
+        {
+            callback.not_saved();
+        }
+
+        public virtual void cancel()
+        {
+            callback.cancelled();
+        }
+    }
 }
\ No newline at end of file
product/client/presentation/Presenters/AddCompanyPresenter.cs
@@ -1,31 +1,31 @@
-using System.Collections.Generic;
-using Gorilla.Commons.Infrastructure.Logging;
-using MoMoney.DTO;
-using MoMoney.Presentation.Core;
-using MoMoney.Presentation.Views;
-using MoMoney.Service.Contracts.Application;
-
-namespace MoMoney.Presentation.Presenters
-{
-    public class AddCompanyPresenter : TabPresenter<IAddCompanyView>
-    {
-        readonly ICommandPump pump;
-
-        public AddCompanyPresenter(IAddCompanyView view, ICommandPump pump) : base(view)
-        {
-            this.pump = pump;
-        }
-
-        protected override void present()
-        {
-            pump.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view);
-        }
-
-        public void submit(RegisterNewCompany dto)
-        {
-            this.log().debug("registering a new company: {0}", dto.company_name);
-            pump.run<IRegisterNewCompanyCommand, RegisterNewCompany>(dto);
-            pump.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view);
-        }
-    }
+using System.Collections.Generic;
+using Gorilla.Commons.Infrastructure.Logging;
+using MoMoney.DTO;
+using MoMoney.Presentation.Core;
+using MoMoney.Presentation.Views;
+using MoMoney.Service.Contracts.Application;
+
+namespace MoMoney.Presentation.Presenters
+{
+    public class AddCompanyPresenter : TabPresenter<IAddCompanyView>
+    {
+        readonly ICommandPump pump;
+
+        public AddCompanyPresenter(IAddCompanyView view, ICommandPump pump) : base(view)
+        {
+            this.pump = pump;
+        }
+
+        protected override void present()
+        {
+            pump.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view);
+        }
+
+        public void submit(RegisterNewCompany dto)
+        {
+            this.log().debug("registering a new company: {0}", dto.company_name);
+            pump.run<IRegisterNewCompanyCommand, RegisterNewCompany>(dto);
+            pump.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view);
+        }
+    }
 }
\ No newline at end of file
product/client/presentation/Winforms/Resources/ApplicationImages.cs
@@ -1,32 +1,32 @@
-namespace MoMoney.Presentation.Winforms.Resources
-{
-    public static class ApplicationImages
-    {
-        public static readonly ApplicationImage Splash = new ApplicationImage("splash_screen.gif");
-        public static readonly ApplicationImage ReadingABill = new ApplicationImage("reading_a_bill.jpg");
-        public static readonly ApplicationImage PayingABill = new ApplicationImage("paying_a_bill.jpg");
-
-        public static readonly ApplicationImage CreateNewFile = new ApplicationImage("new_file.png");
-        public static readonly ApplicationImage CreateNewFileSelected = new ApplicationImage("new_file_selected.png");
-
-        public static readonly ApplicationImage OpenExistingFile = new ApplicationImage("open_file.png");
-        public static readonly ApplicationImage OpenExistingFileSelected = new ApplicationImage("open_file_selected.png");
-
-        public static readonly ApplicationImage CompanyDetails = new ApplicationImage("company_details.png");
-
-        public static readonly ApplicationImage CompanyDetailsSelected =
-            new ApplicationImage("company_details_selected.png");
-
-        public static readonly ApplicationImage CompanyDetailsDisabled =
-            new ApplicationImage("company_details_disabled.png");
-
-        public static readonly ApplicationImage GenerateReport = new ApplicationImage("generate_report.png");
-
-        public static readonly ApplicationImage GenerateReportSelected =
-            new ApplicationImage("generate_report_selected.png");
-
-        public static readonly ApplicationImage GenerateReportDisabled =
-            new ApplicationImage("generate_report_disabled.png");
-
-    }
+namespace MoMoney.Presentation.Winforms.Resources
+{
+    public static class ApplicationImages
+    {
+        public static readonly ApplicationImage Splash = new ApplicationImage("splash_screen.gif");
+        public static readonly ApplicationImage ReadingABill = new ApplicationImage("reading_a_bill.jpg");
+        public static readonly ApplicationImage PayingABill = new ApplicationImage("paying_a_bill.jpg");
+
+        public static readonly ApplicationImage CreateNewFile = new ApplicationImage("new_file.png");
+        public static readonly ApplicationImage CreateNewFileSelected = new ApplicationImage("new_file_selected.png");
+
+        public static readonly ApplicationImage OpenExistingFile = new ApplicationImage("open_file.png");
+        public static readonly ApplicationImage OpenExistingFileSelected = new ApplicationImage("open_file_selected.png");
+
+        public static readonly ApplicationImage CompanyDetails = new ApplicationImage("company_details.png");
+
+        public static readonly ApplicationImage CompanyDetailsSelected =
+            new ApplicationImage("company_details_selected.png");
+
+        public static readonly ApplicationImage CompanyDetailsDisabled =
+            new ApplicationImage("company_details_disabled.png");
+
+        public static readonly ApplicationImage GenerateReport = new ApplicationImage("generate_report.png");
+
+        public static readonly ApplicationImage GenerateReportSelected =
+            new ApplicationImage("generate_report_selected.png");
+
+        public static readonly ApplicationImage GenerateReportDisabled =
+            new ApplicationImage("generate_report_disabled.png");
+
+    }
 }
\ No newline at end of file
product/client/presentation/Winforms/Views/AddCompanyView.cs
@@ -3,13 +3,13 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Windows.Forms;
 using Gorilla.Commons.Infrastructure.Logging;
+using gorilla.commons.utility;
 using MoMoney.DTO;
 using MoMoney.Presentation.Presenters;
 using momoney.presentation.views;
 using MoMoney.Presentation.Views;
 using MoMoney.Presentation.Winforms.Databinding;
 using MoMoney.Presentation.Winforms.Resources;
-using gorilla.commons.utility;
 using View = System.Windows.Forms.View;
 
 namespace MoMoney.Presentation.Winforms.Views
@@ -31,6 +31,7 @@ namespace MoMoney.Presentation.Winforms.Views
             ApplicationIcons.all().each(x => companiesListView.LargeImageList.Images.Add(x.name_of_the_icon, x));
             companiesListView.Columns.Add("Name");
 
+            ux_company_name.bind_to(dto, x => x.company_name);
             ux_submit_button.Click += (x, y) => submit_button(y);
             ux_cancel_button.Click += (x, y) => Close();
         }
@@ -38,16 +39,19 @@ namespace MoMoney.Presentation.Winforms.Views
         public void attach_to(AddCompanyPresenter presenter)
         {
             this.log().debug("attaching add company presenter");
-            ux_company_name.bind_to(dto, x => x.company_name);
             submit_button = x =>
-                            {
-                                this.log().debug("clicked on submit button");
-                                presenter.submit(dto);
-                            };
+            {
+                this.log().debug("clicked on submit button");
+                presenter.submit(dto);
+            };
         }
 
         public void run(IEnumerable<CompanyDTO> companies)
         {
+            companies.each(x =>
+            {
+                this.log().debug("{0}", x.name);
+            });
             companiesListView.Items.Clear();
             companiesListView.Items.AddRange(companies.Select(x => new ListViewItem(x.name, 0)).ToArray());
         }
product/client/presentation/Winforms/Views/ApplicationShell.cs
@@ -55,7 +55,17 @@ namespace MoMoney.Presentation.Winforms.Views
         public void region<Region>(Action<Region> action) where Region : IComponent
         {
             ensure_that_the_region_exists<Region>();
-            action(regions[typeof (Region).FullName].downcast_to<Region>());
+            if (InvokeRequired)
+            {
+                Action safe_action = () =>
+                {
+                    action(regions[typeof (Region).FullName].downcast_to<Region>());
+                };
+                BeginInvoke(safe_action);
+            }
+            else {
+                action(regions[typeof (Region).FullName].downcast_to<Region>());
+            }
         }
 
         public void close_the_active_window()
product/client/presentation/Winforms/Views/StatusBarView.cs
@@ -1,36 +1,36 @@
-using System.Windows.Forms;
-using momoney.presentation.views;
-using MoMoney.Presentation.Views;
-using MoMoney.Presentation.Winforms.Resources;
-
-namespace MoMoney.Presentation.Winforms.Views
-{
-    public class StatusBarView : IStatusBarView
-    {
-        readonly IRegionManager shell;
-
-        public StatusBarView(IRegionManager shell)
-        {
-            this.shell = shell;
-        }
-
-        public void display(HybridIcon icon_to_display, string text_to_display)
-        {
-            shell.region<ToolStripStatusLabel>(x =>
-                                                   {
-                                                       x.Text = text_to_display;
-                                                       x.Image = icon_to_display;
-                                                   });
-        }
-
-        public void reset_progress_bar()
-        {
-            shell.region<ToolStripProgressBar>(x => { x.ProgressBar.Value = 0; });
-        }
-
-        public void notify()
-        {
-            shell.region<ToolStripProgressBar>(x => { x.Increment(10); });
-        }
-    }
+using System.Windows.Forms;
+using momoney.presentation.views;
+using MoMoney.Presentation.Views;
+using MoMoney.Presentation.Winforms.Resources;
+
+namespace MoMoney.Presentation.Winforms.Views
+{
+    public class StatusBarView : IStatusBarView
+    {
+        readonly IRegionManager shell;
+
+        public StatusBarView(IRegionManager shell)
+        {
+            this.shell = shell;
+        }
+
+        public void display(HybridIcon icon_to_display, string text_to_display)
+        {
+            shell.region<ToolStripStatusLabel>(x =>
+                                                   {
+                                                       x.Text = text_to_display;
+                                                       x.Image = icon_to_display;
+                                                   });
+        }
+
+        public void reset_progress_bar()
+        {
+            shell.region<ToolStripProgressBar>(x => { x.ProgressBar.Value = 0; });
+        }
+
+        public void notify()
+        {
+            shell.region<ToolStripProgressBar>(x => { x.Increment(10); });
+        }
+    }
 }
\ No newline at end of file
product/client/presentation/Presentation.csproj
@@ -128,6 +128,7 @@
     <Compile Include="model\navigation\ITreeBranch.cs" />
     <Compile Include="model\navigation\ITreeViewToRootNodeMapper.cs" />
     <Compile Include="model\reporting\IBindReportTo.cs" />
+    <Compile Include="PresentationAssembly.cs" />
     <Compile Include="presenters\CommandFactory.cs" />
     <Compile Include="presenters\SynchronizedCommandFactory.cs" />
     <Compile Include="presenters\CommandPump.cs" />
product/client/presentation/PresentationAssembly.cs
@@ -0,0 +1,7 @@
+namespace MoMoney.Presentation
+{
+    public class PresentationAssembly
+    {
+        
+    }
+}
\ No newline at end of file
product/client/service.infrastructure/logging/LogFileTasks.cs
@@ -1,27 +1,27 @@
-using System.IO;
-using Gorilla.Commons.Infrastructure.Reflection;
-using momoney.service.infrastructure.logging;
-
-namespace MoMoney.Service.Infrastructure.Logging
-{
-    public class LogFileTasks : ILogFileTasks
-    {
-        public string get_the_contents_of_the_log_file()
-        {
-            using (
-                var file_stream = new FileStream(get_the_path_to_the_log_file(), FileMode.Open, FileAccess.Read,
-                                                 FileShare.ReadWrite))
-            {
-                using (var reader = new StreamReader(file_stream))
-                {
-                    return reader.ReadToEnd();
-                }
-            }
-        }
-
-        public string get_the_path_to_the_log_file()
-        {
-            return Path.Combine(this.startup_directory(), @"logs\log.txt");
-        }
-    }
+using System.IO;
+using Gorilla.Commons.Infrastructure.Reflection;
+using momoney.service.infrastructure.logging;
+
+namespace MoMoney.Service.Infrastructure.Logging
+{
+    public class LogFileTasks : ILogFileTasks
+    {
+        public string get_the_contents_of_the_log_file()
+        {
+            using (
+                var file_stream = new FileStream(get_the_path_to_the_log_file(), FileMode.Open, FileAccess.Read,
+                                                 FileShare.ReadWrite))
+            {
+                using (var reader = new StreamReader(file_stream))
+                {
+                    return reader.ReadToEnd();
+                }
+            }
+        }
+
+        public string get_the_path_to_the_log_file()
+        {
+            return Path.Combine(this.startup_directory(), @"logs\log.txt");
+        }
+    }
 }
\ No newline at end of file
product/client/service.infrastructure/threading/IntervalTimer.cs
@@ -1,46 +1,49 @@
-using System;
-using System.Collections.Generic;
-using System.Timers;
-using momoney.service.infrastructure.threading;
-
-namespace MoMoney.Service.Infrastructure.Threading
-{
-    public interface ITimer
-    {
-        void start_notifying(ITimerClient client_to_be_notified, TimeSpan span);
-        void stop_notifying(ITimerClient client_to_stop_notifying);
-    }
-
-    public class IntervalTimer : ITimer
-    {
-        readonly ITimerFactory factory;
-        readonly IDictionary<ITimerClient, Timer> timers;
-
-        public IntervalTimer() : this(new TimerFactory())
-        {
-        }
-
-        public IntervalTimer(ITimerFactory factory)
-        {
-            this.factory = factory;
-            timers = new Dictionary<ITimerClient, Timer>();
-        }
-
-        public void start_notifying(ITimerClient client_to_be_notified, TimeSpan span)
-        {
-            stop_notifying(client_to_be_notified);
-
-            var timer = factory.create_for(span);
-            timer.Elapsed += (sender, args) => client_to_be_notified.notify();
-            timer.Start();
-            timers[client_to_be_notified] = timer;
-        }
-
-        public void stop_notifying(ITimerClient client_to_stop_notifying)
-        {
-            if (!timers.ContainsKey(client_to_stop_notifying)) return;
-            timers[client_to_stop_notifying].Stop();
-            timers[client_to_stop_notifying].Dispose();
-        }
-    }
+using System;
+using System.Collections.Generic;
+using System.Timers;
+using momoney.service.infrastructure.threading;
+
+namespace MoMoney.Service.Infrastructure.Threading
+{
+    public interface ITimer
+    {
+        void start_notifying(ITimerClient client_to_be_notified, TimeSpan span);
+        void stop_notifying(ITimerClient client_to_stop_notifying);
+    }
+
+    public class IntervalTimer : ITimer
+    {
+        readonly ITimerFactory factory;
+        readonly IDictionary<ITimerClient, Timer> timers;
+
+        public IntervalTimer() : this(new TimerFactory())
+        {
+        }
+
+        public IntervalTimer(ITimerFactory factory)
+        {
+            this.factory = factory;
+            timers = new Dictionary<ITimerClient, Timer>();
+        }
+
+        public void start_notifying(ITimerClient client_to_be_notified, TimeSpan span)
+        {
+            stop_notifying(client_to_be_notified);
+
+            var timer = factory.create_for(span);
+            timer.Elapsed += (sender, args) =>
+            {
+                client_to_be_notified.notify();
+            };
+            timer.Start();
+            timers[client_to_be_notified] = timer;
+        }
+
+        public void stop_notifying(ITimerClient client_to_stop_notifying)
+        {
+            if (!timers.ContainsKey(client_to_stop_notifying)) return;
+            timers[client_to_stop_notifying].Stop();
+            timers[client_to_stop_notifying].Dispose();
+        }
+    }
 }
\ No newline at end of file
product/client/service.infrastructure/InfrastructureAssembly.cs
@@ -0,0 +1,7 @@
+namespace momoney.service.infrastructure
+{
+    public class InfrastructureAssembly
+    {
+        
+    }
+}
\ No newline at end of file
product/client/service.infrastructure/service.infrastructure.csproj
@@ -88,6 +88,7 @@
     <Compile Include="eventing\IEvent.cs" />
     <Compile Include="eventing\EventAggregator.cs" />
     <Compile Include="eventing\EventSubscriber.cs" />
+    <Compile Include="InfrastructureAssembly.cs" />
     <Compile Include="IProjectTasks.cs" />
     <Compile Include="logging\ILogFileTasks.cs" />
     <Compile Include="logging\LogFileTasks.cs" />
product/commons/infrastructure/reflection/ApplicationAssembly.cs
@@ -1,17 +1,16 @@
 using System;
 using System.Collections.Generic;
-using System.Linq;
 using gorilla.commons.utility;
 
 namespace Gorilla.Commons.Infrastructure.Reflection
 {
     public class ApplicationAssembly : Assembly
     {
-        IList<Type> types;
+        IList<Type> types = new List<Type>();
 
-        public ApplicationAssembly(System.Reflection.Assembly assembly)
+        public ApplicationAssembly(params System.Reflection.Assembly[] assemblies)
         {
-            types = assembly.GetTypes().ToList();
+            assemblies.each(x => types.add_range(x.GetTypes()));
         }
 
         public IEnumerable<Type> all_types()