Commit 1f89f07

mo <email@solidware.ca>
2011-03-17 23:51:13
create service, messages, and infrastructure project.
1 parent 6f59ef0
product/desktop.ui/events/UpdateOnLongRunningProcess.cs
@@ -1,4 +1,3 @@
-
 using desktop.ui.eventing;
 
 namespace desktop.ui.events
product/desktop.ui/presenters/SelectedFamilyMemberPresenter.cs
@@ -1,4 +1,3 @@
-using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using desktop.ui.eventing;
product/desktop.ui/Properties/AssemblyInfo.cs
@@ -51,5 +51,5 @@ using System.Windows;
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2011.3.17.1316")]
-[assembly: AssemblyFileVersion("2011.3.17.1316")]
+[assembly: AssemblyVersion("2011.3.17.1750")]
+[assembly: AssemblyFileVersion("2011.3.17.1750")]
product/desktop.ui/Properties/Resources.Designer.cs
@@ -8,10 +8,10 @@
 // </auto-generated>
 //------------------------------------------------------------------------------
 
-namespace desktop.ui.Properties
-{
-
-
+namespace solidware.financials.windows.ui.Properties {
+    using System;
+    
+    
     /// <summary>
     ///   A strongly-typed resource class, for looking up localized strings, etc.
     /// </summary>
@@ -22,48 +22,40 @@ namespace desktop.ui.Properties
     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources
-    {
-
+    internal class Resources {
+        
         private static global::System.Resources.ResourceManager resourceMan;
-
+        
         private static global::System.Globalization.CultureInfo resourceCulture;
-
+        
         [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources()
-        {
+        internal Resources() {
         }
-
+        
         /// <summary>
         ///   Returns the cached ResourceManager instance used by this class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager
-        {
-            get
-            {
-                if ((resourceMan == null))
-                {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("desktop.ui.Properties.Resources", typeof(Resources).Assembly);
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("solidware.financials.windows.ui.Properties.Resources", typeof(Resources).Assembly);
                     resourceMan = temp;
                 }
                 return resourceMan;
             }
         }
-
+        
         /// <summary>
         ///   Overrides the current thread's CurrentUICulture property for all
         ///   resource lookups using this strongly typed resource class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture
-        {
-            get
-            {
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
                 return resourceCulture;
             }
-            set
-            {
+            set {
                 resourceCulture = value;
             }
         }
product/desktop.ui/Properties/Settings.Designer.cs
@@ -8,21 +8,17 @@
 // </auto-generated>
 //------------------------------------------------------------------------------
 
-namespace desktop.ui.Properties
-{
-
-
+namespace solidware.financials.windows.ui.Properties {
+    
+    
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
-    {
-
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
-        public static Settings Default
-        {
-            get
-            {
+        
+        public static Settings Default {
+            get {
                 return defaultInstance;
             }
         }
product/desktop.ui/desktop.ui.csproj
@@ -8,8 +8,8 @@
     <ProjectGuid>{1E07A7D1-661C-48A2-B67B-180C6107CC92}</ProjectGuid>
     <OutputType>WinExe</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>desktop.ui</RootNamespace>
-    <AssemblyName>desktop.ui</AssemblyName>
+    <RootNamespace>solidware.financials.windows.ui</RootNamespace>
+    <AssemblyName>financials</AssemblyName>
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
     <TargetFrameworkProfile>Client</TargetFrameworkProfile>
     <FileAlignment>512</FileAlignment>
@@ -80,25 +80,10 @@
     <Compile Include="CancelCommand.cs" />
     <Compile Include="Dialog.cs" />
     <Compile Include="DialogPresenter.cs" />
-    <Compile Include="eventing\Event.cs" />
-    <Compile Include="eventing\EventAggregator.cs" />
-    <Compile Include="eventing\EventSubscriber.cs" />
-    <Compile Include="eventing\SynchronizedEventAggregator.cs" />
     <Compile Include="events\SelectedFamilyMember.cs" />
     <Compile Include="events\UpdateOnLongRunningProcess.cs" />
-    <Compile Include="handlers\AddIncomeCommandMessageHandler.cs" />
-    <Compile Include="handlers\AddNewFamilyMemberHandler.cs" />
-    <Compile Include="handlers\domain\Entity.cs" />
-    <Compile Include="handlers\domain\Person.cs" />
-    <Compile Include="handlers\FindAllFamilyHandler.cs" />
-    <Compile Include="handlers\Handles.cs" />
-    <Compile Include="handlers\orm\InMemoryDatabase.cs" />
-    <Compile Include="handlers\orm\PersonRepository.cs" />
     <Compile Include="handlers\PublishEventHandler.cs" />
     <Compile Include="IObservableCommand.cs" />
-    <Compile Include="messages\private\AddedNewFamilyMember.cs" />
-    <Compile Include="messages\private\AddIncomeCommandMessage.cs" />
-    <Compile Include="messages\private\FamilyMemberToAdd.cs" />
     <Compile Include="model\TaxesForIndividual.cs" />
     <Compile Include="Observable.cs" />
     <Compile Include="Presenter.cs" />
@@ -106,18 +91,15 @@
     <Compile Include="presenters\AddFamilyMemberPresenter.cs" />
     <Compile Include="presenters\AddNewIncomeViewModel.cs" />
     <Compile Include="presenters\DisplayCanadianTaxInformationViewModel.cs" />
-    <Compile Include="messages\private\FindAllFamily.cs" />
     <Compile Include="model\PersonDetails.cs" />
     <Compile Include="presenters\IfFamilyMemberIsSelected.cs" />
     <Compile Include="presenters\SelectedFamilyMemberPresenter.cs" />
     <Compile Include="presenters\TaxSummaryPresenter.cs" />
-    <Compile Include="ServiceBus.cs" />
     <Compile Include="presenters\StatusBarPresenter.cs" />
     <Compile Include="presenters\WpfBindingExtensinos.cs" />
     <Compile Include="presenters\WpfCommandBuilder.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="SimpleCommand.cs" />
-    <Compile Include="InMemoryServiceBus.cs" />
     <Compile Include="Tab.cs" />
     <Compile Include="TabPresenter.cs" />
     <Compile Include="UICommand.cs" />
@@ -221,6 +203,23 @@
   <ItemGroup>
     <Resource Include="favicon.ico" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\infrastructure\infrastructure.csproj">
+      <Project>{16D56F38-F4B0-4134-907A-837E4C62C7B7}</Project>
+      <Name>infrastructure</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\messages\messages.csproj">
+      <Project>{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}</Project>
+      <Name>messages</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\service\service.csproj">
+      <Project>{9928913D-5BCE-422F-9A12-13A10ACE836D}</Project>
+      <Name>service</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="messages\private\" />
+  </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/desktop.ui/eventing/Event.cs → product/infrastructure/eventing/Event.cs
File renamed without changes
product/desktop.ui/eventing/EventAggregator.cs → product/infrastructure/eventing/EventAggregator.cs
File renamed without changes
product/desktop.ui/eventing/EventSubscriber.cs → product/infrastructure/eventing/EventSubscriber.cs
File renamed without changes
product/desktop.ui/eventing/SynchronizedEventAggregator.cs → product/infrastructure/eventing/SynchronizedEventAggregator.cs
File renamed without changes
product/infrastructure/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("infrastructure")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("infrastructure")]
+[assembly: AssemblyCopyright("Copyright ©  2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("586f9c67-58f2-45e6-985d-2dd273ecb7ca")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
product/desktop.ui/handlers/Handles.cs → product/infrastructure/Handles.cs
File renamed without changes
product/infrastructure/infrastructure.csproj
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{16D56F38-F4B0-4134-907A-837E4C62C7B7}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>solidware.financials.infrastructure</RootNamespace>
+    <AssemblyName>solidware.financials.infrastructure</AssemblyName>
+    <TargetFrameworkVersion>v4.0</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="gorilla.infrastructure">
+      <HintPath>..\..\thirdparty\commons\gorilla.infrastructure.dll</HintPath>
+    </Reference>
+    <Reference Include="gorilla.utility">
+      <HintPath>..\..\thirdparty\commons\gorilla.utility.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="eventing\Event.cs" />
+    <Compile Include="eventing\EventAggregator.cs" />
+    <Compile Include="eventing\EventSubscriber.cs" />
+    <Compile Include="eventing\SynchronizedEventAggregator.cs" />
+    <Compile Include="Handles.cs" />
+    <Compile Include="InMemoryServiceBus.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="ServiceBus.cs" />
+  </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/desktop.ui/InMemoryServiceBus.cs → product/infrastructure/InMemoryServiceBus.cs
File renamed without changes
product/desktop.ui/ServiceBus.cs → product/infrastructure/ServiceBus.cs
File renamed without changes
product/messages/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("messages")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("messages")]
+[assembly: AssemblyCopyright("Copyright ©  2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("1f6c4e12-1c9d-4f31-a258-cd9a975a7a42")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
product/desktop.ui/messages/private/AddedNewFamilyMember.cs → product/messages/AddedNewFamilyMember.cs
File renamed without changes
product/desktop.ui/messages/private/AddIncomeCommandMessage.cs → product/messages/AddIncomeCommandMessage.cs
File renamed without changes
product/desktop.ui/messages/private/FamilyMemberToAdd.cs → product/messages/FamilyMemberToAdd.cs
File renamed without changes
product/desktop.ui/messages/private/FindAllFamily.cs → product/messages/FindAllFamily.cs
File renamed without changes
product/messages/messages.csproj
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>messages</RootNamespace>
+    <AssemblyName>messages</AssemblyName>
+    <TargetFrameworkVersion>v4.0</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="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AddedNewFamilyMember.cs" />
+    <Compile Include="AddIncomeCommandMessage.cs" />
+    <Compile Include="FamilyMemberToAdd.cs" />
+    <Compile Include="FindAllFamily.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\infrastructure\infrastructure.csproj">
+      <Project>{16D56F38-F4B0-4134-907A-837E4C62C7B7}</Project>
+      <Name>infrastructure</Name>
+    </ProjectReference>
+  </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/desktop.ui/handlers/domain/Entity.cs → product/service/handlers/domain/Entity.cs
File renamed without changes
product/desktop.ui/handlers/domain/Person.cs → product/service/handlers/domain/Person.cs
File renamed without changes
product/desktop.ui/handlers/orm/InMemoryDatabase.cs → product/service/handlers/orm/InMemoryDatabase.cs
File renamed without changes
product/desktop.ui/handlers/orm/PersonRepository.cs → product/service/handlers/orm/PersonRepository.cs
File renamed without changes
product/desktop.ui/handlers/AddIncomeCommandMessageHandler.cs → product/service/handlers/AddIncomeCommandMessageHandler.cs
@@ -1,6 +1,5 @@
 using System;
 using desktop.ui.messages.@private;
-using desktop.ui.presenters;
 
 namespace desktop.ui.handlers
 {
product/desktop.ui/handlers/AddNewFamilyMemberHandler.cs → product/service/handlers/AddNewFamilyMemberHandler.cs
File renamed without changes
product/desktop.ui/handlers/FindAllFamilyHandler.cs → product/service/handlers/FindAllFamilyHandler.cs
File renamed without changes
product/service/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("service")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("service")]
+[assembly: AssemblyCopyright("Copyright ©  2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("6bbab130-3df4-4946-bd6f-d9d24e42cbde")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
product/service/service.csproj
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{9928913D-5BCE-422F-9A12-13A10ACE836D}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>service</RootNamespace>
+    <AssemblyName>service</AssemblyName>
+    <TargetFrameworkVersion>v4.0</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="gorilla.utility">
+      <HintPath>..\..\thirdparty\commons\gorilla.utility.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="handlers\AddIncomeCommandMessageHandler.cs" />
+    <Compile Include="handlers\AddNewFamilyMemberHandler.cs" />
+    <Compile Include="handlers\domain\Entity.cs" />
+    <Compile Include="handlers\domain\Person.cs" />
+    <Compile Include="handlers\FindAllFamilyHandler.cs" />
+    <Compile Include="handlers\orm\InMemoryDatabase.cs" />
+    <Compile Include="handlers\orm\PersonRepository.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\infrastructure\infrastructure.csproj">
+      <Project>{16D56F38-F4B0-4134-907A-837E4C62C7B7}</Project>
+      <Name>infrastructure</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\messages\messages.csproj">
+      <Project>{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}</Project>
+      <Name>messages</Name>
+    </ProjectReference>
+  </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/specs/Properties/AssemblyInfo.cs
@@ -1,5 +1,4 @@
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
studio.sln
@@ -5,6 +5,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "desktop.ui", "product\deskt
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "specs", "product\specs\specs.csproj", "{B10E4560-2546-4A11-B2D1-5505BFCDDCC9}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "service", "product\service\service.csproj", "{9928913D-5BCE-422F-9A12-13A10ACE836D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "messages", "product\messages\messages.csproj", "{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "infrastructure", "product\infrastructure\infrastructure.csproj", "{16D56F38-F4B0-4134-907A-837E4C62C7B7}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -35,6 +41,36 @@ Global
 		{B10E4560-2546-4A11-B2D1-5505BFCDDCC9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
 		{B10E4560-2546-4A11-B2D1-5505BFCDDCC9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 		{B10E4560-2546-4A11-B2D1-5505BFCDDCC9}.Release|x86.ActiveCfg = Release|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{9928913D-5BCE-422F-9A12-13A10ACE836D}.Release|x86.ActiveCfg = Release|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{C3DF753C-7BB7-48E0-B87D-D37ED47EDF92}.Release|x86.ActiveCfg = Release|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{16D56F38-F4B0-4134-907A-837E4C62C7B7}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE