SPRNET-1102: Improve Northwind NHibernate example
This commit is contained in:
@@ -28,23 +28,31 @@
|
||||
<section>
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>This QuickStart application uses the all too familiar Northwind
|
||||
database and uses NHibernate browse and edit customers. It It is a very
|
||||
simple application that directly uses the DAO layer in some cases and also
|
||||
has a simple service layer that simulated a fullillment process. See the
|
||||
integration tests as well for insight into how it works. The application
|
||||
uses Spring's declarative transaction management features,
|
||||
HibernateTemplate helper class, and Open Session In View module. <note>
|
||||
The example will be updated to not use HibernateTemplate and instead use the standard NHibernate API in a future release. All functionality is still present when using the standard NHibernate API, as Spring transaction managment is integrated into NHibernate extension points and exception translation is provided by AOP advice. See the section titled Implementing DAOs based on plain Hibernate 1.2/2.0 API" in the hibernate orm section of the reference docs for more information.
|
||||
</note>To run the application make the Web application the project that
|
||||
starts and set Default.aspx as the start page. You will see a list of
|
||||
customers. If you select 'edit' then you can edit some customer info and
|
||||
save it by pressing the save button. Note that you will need to explicitly
|
||||
navigate back to the Default.aspx page and reload it in order to see the
|
||||
changes.<note>
|
||||
<para>To follow this NHibernate QuickStart load the solution file
|
||||
found in the directory
|
||||
<literal><spring-install-dir>\examples\Spring\Spring.Data.NHibernate.Northwind</literal></para>
|
||||
</note></para>
|
||||
<para>
|
||||
This QuickStart application uses the all too familiar Northwind
|
||||
database and uses NHibernate browse and edit customers. It It is a very
|
||||
simple application that directly uses the DAO layer in some cases and also
|
||||
has a simple service layer that simulated a fullillment process. See the
|
||||
integration tests as well for insight into how it works. The application
|
||||
uses Spring's declarative transaction management features,
|
||||
standard NHibernate API, and Open Session In View module.
|
||||
<note>
|
||||
Even though data access is performed through NHibernate API all Spring.NET provided functionality is
|
||||
still present when using the standard NHibernate API, as Spring transaction managment
|
||||
is integrated into NHibernate extension points and exception translation is
|
||||
provided by AOP advice.
|
||||
See the section titled Implementing DAOs based on plain Hibernate 1.2/2.0 API"
|
||||
in the hibernate orm section of the reference docs for more information.
|
||||
</note>
|
||||
To run the application make the Web application the project that
|
||||
starts and set Default.aspx as the start page.
|
||||
<note>
|
||||
<para>
|
||||
To follow this NHibernate QuickStart load the solution file
|
||||
found in the directory
|
||||
<literal><spring-install-dir>\examples\Spring\Spring.Data.NHibernate.Northwind</literal>
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "Spring.Northwind.Web", "src\Spring.Northwind.Web\", "{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}"
|
||||
ProjectSection(WebsiteProperties) = preProject
|
||||
TargetFramework = "3.5"
|
||||
ProjectReferences = "{53B04C54-63EA-45AA-BB83-8950AF3C5D68}|Spring.Aspects.dll;{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}|Spring.Northwind.Dao.dll;{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}|Spring.Northwind.Dao.NHibernate.dll;{9E15876F-E9E0-43B7-9874-B54F163757D6}|Spring.Northwind.Service.dll;{FD89FEBE-4914-45F3-9123-B2CB954810DD}|Spring.Northwind.Web.References.dll;"
|
||||
Debug.AspNetCompiler.VirtualPath = "/Spring.Northwind.Web"
|
||||
Debug.AspNetCompiler.PhysicalPath = "src\Spring.Northwind.Web\"
|
||||
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\Spring.Northwind.Web\"
|
||||
Debug.AspNetCompiler.Updateable = "true"
|
||||
Debug.AspNetCompiler.ForceOverwrite = "true"
|
||||
Debug.AspNetCompiler.FixedNames = "false"
|
||||
Debug.AspNetCompiler.Debug = "True"
|
||||
Release.AspNetCompiler.VirtualPath = "/Spring.Northwind.Web"
|
||||
Release.AspNetCompiler.PhysicalPath = "src\Spring.Northwind.Web\"
|
||||
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\Spring.Northwind.Web\"
|
||||
Release.AspNetCompiler.Updateable = "true"
|
||||
Release.AspNetCompiler.ForceOverwrite = "true"
|
||||
Release.AspNetCompiler.FixedNames = "false"
|
||||
Release.AspNetCompiler.Debug = "False"
|
||||
VWDPort = "17866"
|
||||
DefaultWebSiteLanguage = "Visual C#"
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Northwind.Service.2008", "src\Spring.Northwind.Service\Spring.Northwind.Service.2008.csproj", "{9E15876F-E9E0-43B7-9874-B54F163757D6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Northwind.Dao.2008", "src\Spring.Northwind.Dao\Spring.Northwind.Dao.2008.csproj", "{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Northwind.Dao.NHibernate.2008", "src\Spring.Northwind.Dao.NHibernate\Spring.Northwind.Dao.NHibernate.2008.csproj", "{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Northwind.IntegrationTests.2008", "test\Spring.Northwind.IntegrationTests\Spring.Northwind.IntegrationTests.2008.csproj", "{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Aspects.2008", "src\Spring.Aspects\Spring.Aspects.2008.csproj", "{53B04C54-63EA-45AA-BB83-8950AF3C5D68}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Northwind.Web.References.2008", "src\Spring.Northwind.Web.References\Spring.Northwind.Web.References.2008.csproj", "{FD89FEBE-4914-45F3-9123-B2CB954810DD}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
||||
Release|.NET = Release|.NET
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|Mixed Platforms = Release|Mixed Platforms
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Debug|.NET.ActiveCfg = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Debug|.NET.Build.0 = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Debug|Any CPU.ActiveCfg = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Debug|Mixed Platforms.ActiveCfg = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Debug|Mixed Platforms.Build.0 = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Release|.NET.ActiveCfg = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Release|.NET.Build.0 = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Release|Any CPU.ActiveCfg = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Release|Mixed Platforms.ActiveCfg = Debug|.NET
|
||||
{3E321CBC-75B0-45C4-AFEF-7CEED28368AE}.Release|Mixed Platforms.Build.0 = Debug|.NET
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{9E15876F-E9E0-43B7-9874-B54F163757D6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{53B04C54-63EA-45AA-BB83-8950AF3C5D68}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD89FEBE-4914-45F3-9123-B2CB954810DD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
NAntAddinLastFileName =
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,60 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{53B04C54-63EA-45AA-BB83-8950AF3C5D68}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring</RootNamespace>
|
||||
<AssemblyName>Spring.Aspects</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</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="Common.Logging, Version=1.0.2.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Aop, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Aop.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Aspects\Logging\CommonLoggingAroundAdvice.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\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>
|
||||
@@ -0,0 +1,110 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring.Northwind</RootNamespace>
|
||||
<AssemblyName>Spring.Northwind.Dao.NHibernate</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</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="antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\net\2.0\antlr.runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging, Version=1.0.2.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.0.3, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=1.2.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Core, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Data, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Data.NHibernate21, Version=1.1.1.20093, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Data.NHibernate21.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Dao\NHibernate\HibernateCustomerDao.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dao\NHibernate\HibernateDao.cs" />
|
||||
<Compile Include="Dao\NHibernate\HibernateOrderDao.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dao\NHibernate\HibernateProductDao.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Mappings\Customer.hbm.xml" />
|
||||
<EmbeddedResource Include="Mappings\Order.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Northwind.Dao\Spring.Northwind.Dao.2008.csproj">
|
||||
<Project>{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}</Project>
|
||||
<Name>Spring.Northwind.Dao</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Mappings\OrderDetail.hbm.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Dao\Dao.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\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>
|
||||
@@ -0,0 +1,59 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring.Northwind</RootNamespace>
|
||||
<AssemblyName>Spring.Northwind.Dao</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</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" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Dao\ICustomerDao.cs" />
|
||||
<Compile Include="Dao\IDao.cs" />
|
||||
<Compile Include="Dao\IOrderDao.cs" />
|
||||
<Compile Include="Dao\IProductDao.cs" />
|
||||
<Compile Include="Dao\ISupportsDeleteDao.cs" />
|
||||
<Compile Include="Dao\ISupportsSave.cs" />
|
||||
<Compile Include="Domain\Customer.cs" />
|
||||
<Compile Include="Domain\Order.cs" />
|
||||
<Compile Include="Domain\OrderDetail.cs" />
|
||||
<Compile Include="Domain\Product.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\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>
|
||||
@@ -23,6 +23,8 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
using Common.Logging;
|
||||
|
||||
using Spring.Transaction.Interceptor;
|
||||
|
||||
using Spring.Northwind.Dao;
|
||||
@@ -35,7 +37,9 @@ namespace Spring.Northwind.Service
|
||||
public class FulfillmentService : IFulfillmentService
|
||||
{
|
||||
#region Fields
|
||||
|
||||
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof (FulfillmentService));
|
||||
|
||||
private IProductDao productDao;
|
||||
|
||||
private ICustomerDao customerDao;
|
||||
@@ -86,9 +90,16 @@ namespace Spring.Northwind.Service
|
||||
|
||||
foreach (Order order in customer.Orders)
|
||||
{
|
||||
if (order.ShippedDate.HasValue)
|
||||
{
|
||||
log.Warn("Order with " + order.Id + " has already been shipped, skipping.");
|
||||
continue;
|
||||
}
|
||||
|
||||
//Validate Order
|
||||
Validate(order);
|
||||
|
||||
log.Info("Order " + order.Id + " validated, proceeding with shipping..");
|
||||
|
||||
//Ship with external shipping service
|
||||
ShippingService.ShipOrder(order);
|
||||
|
||||
@@ -97,7 +108,7 @@ namespace Spring.Northwind.Service
|
||||
|
||||
//Update shipment date
|
||||
OrderDao.Update(order);
|
||||
|
||||
|
||||
//Other operations...Decrease product quantity... etc
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{9E15876F-E9E0-43B7-9874-B54F163757D6}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring.Northwind</RootNamespace>
|
||||
<AssemblyName>Spring.Northwind.Service</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</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="Common.Logging, Version=1.0.2.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Data, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Service\FedExShippingService.cs" />
|
||||
<Compile Include="Service\IFulfillmentService.cs" />
|
||||
<Compile Include="Service\IShippingService.cs" />
|
||||
<Compile Include="Service\FulfillmentService.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Northwind.Dao.NHibernate\Spring.Northwind.Dao.NHibernate.2008.csproj">
|
||||
<Project>{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}</Project>
|
||||
<Name>Spring.Northwind.Dao.NHibernate</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Spring.Northwind.Dao\Spring.Northwind.Dao.2008.csproj">
|
||||
<Project>{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}</Project>
|
||||
<Name>Spring.Northwind.Dao</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Service\Services.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\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>
|
||||
@@ -0,0 +1,96 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{FD89FEBE-4914-45F3-9123-B2CB954810DD}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring.Northwind.Web.References</RootNamespace>
|
||||
<AssemblyName>Spring.Northwind.Web.References</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>.</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>.</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\antlr.runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Antlr3.Runtime, Version=3.1.0.39271, Culture=neutral, PublicKeyToken=3a9cab8f8d22bfb7, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\Antlr3.Runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging.Log4Net, Version=1.2.0.2, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\net\2.0\Common.Logging.Log4Net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="LinFu.DynamicProxy, Version=1.0.3.14911, Culture=neutral, PublicKeyToken=62a6874124340d6e, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\LinFu.DynamicProxy.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\net\2.0\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate.ByteCode.LinFu, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.ByteCode.LinFu.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Core, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Data, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Web, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\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>
|
||||
Binary file not shown.
Binary file not shown.
@@ -61,6 +61,16 @@ fieldset legend {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.actionResultWindow
|
||||
{
|
||||
margin: 30px;
|
||||
border: 1px solid #CCA383;
|
||||
width: 90%;
|
||||
background: LightGoldenrodYellow;
|
||||
text-align: left;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#headerCell
|
||||
{
|
||||
background: url(../img/header-spring.png);
|
||||
|
||||
@@ -25,6 +25,10 @@
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
|
||||
<!-- simple appender to get results to UI -->
|
||||
</appender>
|
||||
|
||||
<!-- Set default logging level to DEBUG -->
|
||||
<root>
|
||||
<level value="DEBUG" />
|
||||
@@ -42,4 +46,12 @@
|
||||
<logger name="NHibernate">
|
||||
<level value="INFO" />
|
||||
</logger>
|
||||
<logger name="Spring.Transaction>">
|
||||
<level value="INFO" />
|
||||
<appender-ref ref="MemoryAppender" />
|
||||
</logger>
|
||||
<logger name="Spring.Northwind">
|
||||
<level value="INFO" />
|
||||
<appender-ref ref="MemoryAppender" />
|
||||
</logger>
|
||||
</log4net>
|
||||
@@ -30,8 +30,8 @@
|
||||
</fieldset>
|
||||
</spring:DataBindingPanel>
|
||||
<div class="actionPanel">
|
||||
<a href="customerlist.aspx">« Back to customer list</a> | <a href="CustomerView.aspx">
|
||||
Cancel edit »</a>
|
||||
<asp:LinkButton ID="customerList" runat="server" onclick="customerList_Click">« Back to customer list</asp:LinkButton> |
|
||||
<asp:LinkButton ID="cancel" runat="server" onclick="cancel_Click">Cancel edit »</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
|
||||
@@ -58,6 +58,14 @@ public partial class CustomerEditor : Page
|
||||
private void BtnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
customerDao.Update(CurrentCustomer);
|
||||
Response.Redirect("~/CustomerView.aspx");
|
||||
SetResult("ViewCustomer");
|
||||
}
|
||||
protected void customerList_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("CustomerList");
|
||||
}
|
||||
protected void cancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("CancelEdit");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,14 @@
|
||||
|
||||
<h1>Customers in database</h1>
|
||||
|
||||
<p>
|
||||
Below you can see all customers in the database paged to grid.
|
||||
By clicking customer name you enter the details and edit information.
|
||||
By clicking orders you can see all orders that customer has. Orders can
|
||||
be in shipped state (they have shipped date) or they can be waiting for
|
||||
shipment. You can ship orders that aren't shipped yet on the orders screen.
|
||||
</p>
|
||||
<br />
|
||||
<asp:DataGrid id="customerList" runat="server"
|
||||
AllowPaging="true"
|
||||
AllowSorting="false"
|
||||
@@ -17,9 +25,7 @@
|
||||
<Columns>
|
||||
|
||||
<asp:BoundColumn HeaderText="Id" DataField="ID" />
|
||||
<asp:TemplateColumn HeaderText="Name">
|
||||
<ItemTemplate><a href="CustomerView.aspx?id="><%# Eval("ContactName")%></a></ItemTemplate>
|
||||
</asp:TemplateColumn>
|
||||
<asp:ButtonColumn HeaderText="Name" DataTextField="ContactName" CommandName="ViewCustomer" />
|
||||
<asp:BoundColumn HeaderText="Company" DataField="CompanyName"/>
|
||||
<asp:ButtonColumn CommandName="ViewOrders" Text="Orders" />
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ public partial class CustomerList : Spring.Web.UI.Page
|
||||
switch(e.CommandName)
|
||||
{
|
||||
case "ViewOrders":
|
||||
case "EditCustomer":
|
||||
case "ViewCustomer":
|
||||
customerList.SelectedIndex = e.Item.ItemIndex;
|
||||
customerEditController.EditCustomer(this.SelectedCustomer);
|
||||
SetResult(e.CommandName);
|
||||
|
||||
@@ -5,6 +5,13 @@
|
||||
|
||||
<h1>Orders for customer <strong><asp:Literal ID="customerName" runat="server" /></strong></h1>
|
||||
|
||||
<p>
|
||||
On this screen you can see all orders that customer has. By clicking "Process Orders" you
|
||||
can send service request to ship all unshipped orders for that customer. Behind the scenes
|
||||
Spring.NET will begin service level transaction that propagates to DAO layer which then
|
||||
automatically participates int the existing transaction.
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
<asp:DataGrid ID="customerOrders" runat="server" AllowPaging="false" AllowSorting="false"
|
||||
BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="false"
|
||||
@@ -19,8 +26,12 @@
|
||||
</Columns>
|
||||
</asp:DataGrid>
|
||||
|
||||
<p>
|
||||
<asp:Button ID="processOrders" runat="server" Text="Process Orders"
|
||||
onclick="processOrders_Click" />
|
||||
</p>
|
||||
<div class="actionPanel">
|
||||
<a href="CustomerList.aspx">« Back to customer listing</a>
|
||||
<asp:LinkButton ID="customerList" runat="server" onclick="customerList_Click">« Back to customer list</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
|
||||
@@ -63,4 +63,12 @@ public partial class CustomerOrders : Spring.Web.UI.Page
|
||||
e.Item.DataItem = ((IList) customerOrders.DataSource)[e.Item.DataSetIndex];
|
||||
}
|
||||
}
|
||||
protected void customerList_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("CustomerList");
|
||||
}
|
||||
protected void processOrders_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("ProcessOrders");
|
||||
}
|
||||
}
|
||||
@@ -25,8 +25,8 @@
|
||||
</fieldset>
|
||||
</spring:DataBindingPanel>
|
||||
<div class="actionPanel">
|
||||
<a href="customerlist.aspx">« Back to customer list</a> | <a href="CustomerEditor.aspx">
|
||||
Edit Customer »</a>
|
||||
<asp:LinkButton ID="customerList" runat="server" onclick="customerList_Click">« Back to customer list</asp:LinkButton> |
|
||||
<asp:LinkButton ID="editCustomer" runat="server" onclick="editCustomer_Click">Edit Customer »</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
|
||||
@@ -58,4 +58,12 @@ public partial class CustomerView : Page
|
||||
|
||||
}
|
||||
|
||||
protected void customerList_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("CustomerList");
|
||||
}
|
||||
protected void editCustomer_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("EditCustomer");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@ This sample demostrates Spring.NET NHibernate integration and concepts. All data
|
||||
all transactions are automatically handled by Spring.NET.
|
||||
</p>
|
||||
|
||||
<a href="CustomerList.aspx">Proceed to customer listing »</a>
|
||||
<asp:LinkButton ID="customerList" runat="server" onclick="customerList_Click">Proceed to customer listing »</asp:LinkButton>
|
||||
</asp:Content>
|
||||
@@ -46,4 +46,8 @@ public partial class _Default : Spring.Web.UI.Page
|
||||
}
|
||||
}
|
||||
}
|
||||
protected void customerList_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("CustomerList");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<%@ Page Language="C#" MasterPageFile="~/Shared/MasterPage.master" AutoEventWireup="true"
|
||||
CodeFile="FulfillmentResult.aspx.cs" Inherits="FullfillmentResult" %>
|
||||
|
||||
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
|
||||
Namespace="System.Web.UI" TagPrefix="asp" %>
|
||||
<asp:Content ID="content" ContentPlaceHolderID="content" runat="server">
|
||||
<h1>Order processing results</h1>
|
||||
|
||||
<p>
|
||||
Below you can see the results from order fullfilment.
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
<div class="actionResultWindow">
|
||||
<asp:Label ID="results" runat="server" Text=""></asp:Label>
|
||||
</div>
|
||||
<div class="actionPanel">
|
||||
<asp:LinkButton ID="customerOrders" runat="server" OnClick="customerOrders_Click">« Back to customer order list</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
using Common.Logging;
|
||||
|
||||
using log4net.Appender;
|
||||
using log4net.Core;
|
||||
using log4net.Layout;
|
||||
using log4net.Repository;
|
||||
|
||||
using Spring.Northwind.Service;
|
||||
using Spring.Web.UI;
|
||||
|
||||
using ILog=log4net.ILog;
|
||||
using LogManager=log4net.LogManager;
|
||||
|
||||
public partial class FullfillmentResult : Page
|
||||
{
|
||||
private IFulfillmentService fulfillmentService;
|
||||
private ICustomerEditController customerEditController;
|
||||
|
||||
public IFulfillmentService FulfillmentService
|
||||
{
|
||||
set { fulfillmentService = value; }
|
||||
}
|
||||
|
||||
public ICustomerEditController CustomerEditController
|
||||
{
|
||||
set { customerEditController = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
// gather log4net output with small hack to get results...
|
||||
ILoggerRepository repository = LogManager.GetRepository();
|
||||
IAppender[] appenders = repository.GetAppenders();
|
||||
MemoryAppender appender = null;
|
||||
foreach (IAppender a in appenders)
|
||||
{
|
||||
if (a is MemoryAppender)
|
||||
{
|
||||
// we found our appender to look results from
|
||||
appender = a as MemoryAppender;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (appender != null)
|
||||
{
|
||||
appender.Clear();
|
||||
fulfillmentService.ProcessCustomer(customerEditController.CurrentCustomer.Id);
|
||||
LoggingEvent[] events = appender.GetEvents();
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
PatternLayout layout = new PatternLayout("%date{HH:mm:ss} %-5level %logger{1}: %message<br />");
|
||||
foreach (LoggingEvent loggingEvent in events)
|
||||
{
|
||||
layout.Format(stringWriter, loggingEvent);
|
||||
}
|
||||
|
||||
results.Text = stringWriter.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
protected void customerOrders_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetResult("Back");
|
||||
}
|
||||
}
|
||||
@@ -67,7 +67,15 @@
|
||||
<add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
|
||||
<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
|
||||
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
|
||||
<add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
|
||||
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Data.Services.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
|
||||
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
|
||||
<pages theme="Spring">
|
||||
<controls>
|
||||
<add tagPrefix="spring" namespace="Spring.Web.UI.Controls" assembly="Spring.Web"/>
|
||||
|
||||
@@ -1,44 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net">
|
||||
|
||||
<!-- Referenced by main application context configuration file -->
|
||||
<!-- Referenced by main application context configuration file -->
|
||||
|
||||
<description>
|
||||
The Northwind web layer definitions
|
||||
</description>
|
||||
<description>
|
||||
The Northwind web layer definitions
|
||||
</description>
|
||||
|
||||
<object name="CustomerEditController" type="NHibernateCustomerEditController" scope="session">
|
||||
<constructor-arg name="sessionFactory" ref="NHibernateSessionFactory"/>
|
||||
</object>
|
||||
|
||||
<object type="Default.aspx">
|
||||
<property name="FulfillmentService" ref="FulfillmentService" />
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
</object>
|
||||
<object name="CustomerEditController" type="NHibernateCustomerEditController" scope="session">
|
||||
<constructor-arg name="sessionFactory" ref="NHibernateSessionFactory"/>
|
||||
</object>
|
||||
|
||||
<object name="CustomerEditPage" abstract="true">
|
||||
<property name="CustomerEditController" ref="CustomerEditController" />
|
||||
</object>
|
||||
|
||||
<object type="CustomerList.aspx" parent="CustomerEditPage">
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="EditCustomer" value="redirect:CustomerEditor.aspx" />
|
||||
<entry key="ViewOrders" value="redirect:CustomerOrders.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
<object type="Default.aspx">
|
||||
<property name="FulfillmentService" ref="FulfillmentService" />
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="CustomerList" value="redirect:CustomerList.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<object type="CustomerEditor.aspx" parent="CustomerEditPage">
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
</object>
|
||||
<object name="CustomerEditPage" abstract="true">
|
||||
<property name="CustomerEditController" ref="CustomerEditController" />
|
||||
</object>
|
||||
|
||||
<object type="CustomerList.aspx" parent="CustomerEditPage">
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="ViewCustomer" value="redirect:CustomerView.aspx" />
|
||||
<entry key="ViewOrders" value="redirect:CustomerOrders.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<object type="CustomerEditor.aspx" parent="CustomerEditPage">
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="CustomerList" value="redirect:CustomerList.aspx" />
|
||||
<entry key="ViewCustomer" value="redirect:CustomerView.aspx" />
|
||||
<entry key="CancelEdit" value="redirect:CustomerView.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<object type="CustomerView.aspx">
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
<property name="CustomerEditController" ref="CustomerEditController" />
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="EditCustomer" value="redirect:CustomerEditor.aspx" />
|
||||
<entry key="CustomerList" value="redirect:CustomerList.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<object type="CustomerOrders.aspx" parent="CustomerEditPage">
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="CustomerList" value="redirect:CustomerList.aspx" />
|
||||
<entry key="ProcessOrders" value="redirect:FulfillmentResult.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<object type="FulfillmentResult.aspx">
|
||||
<property name="FulfillmentService" ref="FulfillmentService" />
|
||||
<property name="CustomerEditController" ref="CustomerEditController" />
|
||||
<property name="Results">
|
||||
<dictionary>
|
||||
<entry key="Back" value="redirect:CustomerOrders.aspx" />
|
||||
</dictionary>
|
||||
</property>
|
||||
</object>
|
||||
|
||||
<object type="CustomerView.aspx">
|
||||
<property name="CustomerDao" ref="CustomerDao" />
|
||||
<property name="CustomerEditController" ref="CustomerEditController" />
|
||||
</object>
|
||||
|
||||
<object type="CustomerOrders.aspx" parent="CustomerEditPage" />
|
||||
|
||||
</objects>
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{2D0C5DF7-3BDB-44FB-BC1B-58E60B170BAD}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Spring.Northwind</RootNamespace>
|
||||
<AssemblyName>Spring.Northwind.IntegrationTests</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</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="antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\Net\2.0\antlr.runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Common.Logging, Version=1.1.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\Net\2.0\Common.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections, Version=1.0.0.3, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=1.2.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\NHibernate21\net\2.0\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.2.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\lib\net\2.0\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Core, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Data, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Data.NHibernate21, Version=1.1.2.20153, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Data.NHibernate21.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Testing.NUnit, Version=1.1.2.20153, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Testing.NUnit.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spring.Web, Version=1.1.0.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\bin\net\2.0\debug\Spring.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="IntegrationTests\AbstractDaoIntegrationTests.cs" />
|
||||
<Compile Include="IntegrationTests\FulfillmentServiceTests.cs" />
|
||||
<Compile Include="IntegrationTests\NorthwindIntegrationTests.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Spring.Aspects\Spring.Aspects.2008.csproj">
|
||||
<Project>{53B04C54-63EA-45AA-BB83-8950AF3C5D68}</Project>
|
||||
<Name>Spring.Aspects</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\src\Spring.Northwind.Dao.NHibernate\Spring.Northwind.Dao.NHibernate.2008.csproj">
|
||||
<Project>{6E4F55A0-C281-4706-A08B-BDEC2D2FBDA4}</Project>
|
||||
<Name>Spring.Northwind.Dao.NHibernate</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\src\Spring.Northwind.Dao\Spring.Northwind.Dao.2008.csproj">
|
||||
<Project>{7F45EEA2-50AC-44E2-85A6-2FFB02E38C44}</Project>
|
||||
<Name>Spring.Northwind.Dao</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\src\Spring.Northwind.Service\Spring.Northwind.Service.2008.csproj">
|
||||
<Project>{9E15876F-E9E0-43B7-9874-B54F163757D6}</Project>
|
||||
<Name>Spring.Northwind.Service</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>rem echo "Copying .xml files for tests"
|
||||
rem xcopy "$(ProjectDir)Data" ..\..\..\..\build\VS.Net.2005\Spring.Northwind.IntegrationTests\$(ConfigurationName)\ /y /s /q</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user