├── .gitignore ├── .gitmodules ├── Build ├── Build.cmd ├── Build.proj └── BuildAndPackage.cmd ├── Common ├── AssemblyVersion.cs └── CommonAssemblyInfo.cs ├── Packages ├── Castle.Core.3.2.2 │ ├── ASL - Apache Software Foundation License.txt │ ├── BreakingChanges.txt │ ├── Castle.Core.3.2.2.nupkg │ ├── Castle.Core.3.2.2.nuspec │ ├── Changes.txt │ ├── License.txt │ ├── lib │ │ ├── net35 │ │ │ ├── Castle.Core.dll │ │ │ └── Castle.Core.xml │ │ ├── net40-client │ │ │ ├── Castle.Core.dll │ │ │ └── Castle.Core.xml │ │ ├── net45 │ │ │ ├── Castle.Core.dll │ │ │ └── Castle.Core.xml │ │ ├── sl4 │ │ │ ├── Castle.Core.dll │ │ │ └── Castle.Core.xml │ │ └── sl5 │ │ │ ├── Castle.Core.dll │ │ │ └── Castle.Core.xml │ └── readme.txt ├── Castle.Windsor.3.2.1 │ ├── ASL - Apache Software Foundation License.txt │ ├── BreakingChanges.txt │ ├── Castle.Windsor.3.2.1.nupkg │ ├── Castle.Windsor.3.2.1.nuspec │ ├── Changes.txt │ ├── License.txt │ ├── lib │ │ ├── net35 │ │ │ ├── Castle.Windsor.dll │ │ │ └── Castle.Windsor.xml │ │ ├── net40-client │ │ │ ├── Castle.Windsor.dll │ │ │ └── Castle.Windsor.xml │ │ ├── net40 │ │ │ ├── Castle.Windsor.dll │ │ │ └── Castle.Windsor.xml │ │ ├── net45 │ │ │ ├── Castle.Windsor.dll │ │ │ └── Castle.Windsor.xml │ │ ├── sl4 │ │ │ ├── Castle.Windsor.dll │ │ │ └── Castle.Windsor.xml │ │ └── sl5 │ │ │ ├── Castle.Windsor.dll │ │ │ └── Castle.Windsor.xml │ └── readme.txt ├── CommonServiceLocator.1.0 │ ├── CommonServiceLocator.1.0.nupkg │ └── lib │ │ ├── NET35 │ │ ├── Microsoft.Practices.ServiceLocation.XML │ │ ├── Microsoft.Practices.ServiceLocation.dll │ │ └── Microsoft.Practices.ServiceLocation.pdb │ │ └── SL30 │ │ ├── Microsoft.Practices.ServiceLocation.XML │ │ └── Microsoft.Practices.ServiceLocation.dll ├── CommonServiceLocator.WindsorAdapter.1.0 │ ├── CommonServiceLocator.WindsorAdapter.1.0.nupkg │ └── lib │ │ └── NET35 │ │ ├── CommonServiceLocator.WindsorAdapter.dll │ │ └── CommonServiceLocator.WindsorAdapter.pdb ├── FluentNHibernate.1.4.0.0 │ ├── FluentNHibernate.1.4.0.0.nupkg │ ├── FluentNHibernate.1.4.0.0.nuspec │ └── lib │ │ └── net35 │ │ ├── FluentNHibernate.XML │ │ └── FluentNHibernate.dll ├── Iesi.Collections.3.3.3.4001 │ ├── Iesi.Collections.3.3.3.4001.nupkg │ ├── Iesi.Collections.3.3.3.4001.nuspec │ └── lib │ │ └── Net35 │ │ ├── Iesi.Collections.dll │ │ └── Iesi.Collections.xml ├── Mvc3Futures.3.0.20105.0 │ ├── Mvc3Futures.3.0.20105.0.nupkg │ └── lib │ │ └── Microsoft.Web.Mvc.dll ├── MvcContrib.Mvc3-ci.3.0.100.0 │ ├── MvcContrib.Mvc3-ci.3.0.100.0.nupkg │ ├── MvcContrib.Mvc3-ci.3.0.100.0.nuspec │ └── lib │ │ └── MvcContrib.dll ├── MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0 │ ├── MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0.nupkg │ ├── MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0.nuspec │ └── lib │ │ └── MvcContrib.FluentHtml.dll ├── NHibernate.3.3.3.4001 │ ├── ConfigurationTemplates │ │ ├── FireBird.cfg.xml │ │ ├── MSSQL.cfg.xml │ │ ├── MySql.cfg.xml │ │ ├── Oracle.cfg.xml │ │ ├── PostgreSQL.cfg.xml │ │ ├── SQLite.cfg.xml │ │ ├── SybaseASE.cfg.xml │ │ └── SybaseSQLAnywhere.cfg.xml │ ├── NHibernate.3.3.3.4001.nupkg │ ├── NHibernate.3.3.3.4001.nuspec │ ├── NHibernate.license.txt │ ├── NHibernate.readme.html │ ├── NHibernate.releasenotes.txt │ ├── lib │ │ └── Net35 │ │ │ ├── NHibernate.dll │ │ │ └── NHibernate.xml │ ├── nhibernate-configuration.xsd │ └── nhibernate-mapping.xsd ├── Newtonsoft.Json.5.0.8 │ ├── Newtonsoft.Json.5.0.8.nupkg │ ├── Newtonsoft.Json.5.0.8.nuspec │ ├── lib │ │ ├── net20 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── net35 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── net40 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── net45 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── netcore45 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ ├── portable-net40+sl4+wp7+win8 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ │ └── portable-net45+wp80+win8 │ │ │ ├── Newtonsoft.Json.dll │ │ │ └── Newtonsoft.Json.xml │ └── tools │ │ └── install.ps1 ├── RhinoMocks.3.6.1 │ ├── RhinoMocks.3.6.1.nupkg │ ├── RhinoMocks.3.6.1.nuspec │ └── lib │ │ └── net │ │ ├── Rhino.Mocks.dll │ │ └── Rhino.Mocks.xml ├── SharpArch.Domain.2.0.0.0 │ └── lib │ │ └── NET40 │ │ ├── SharpArch.Domain.dll │ │ └── SharpArch.Domain.pdb ├── SharpArch.Domain.2.1.2 │ ├── SharpArch.Domain.2.1.2.nupkg │ ├── SharpArch.Domain.2.1.2.nuspec │ └── lib │ │ └── NET40 │ │ ├── SharpArch.Domain.dll │ │ └── SharpArch.Domain.pdb ├── SharpArch.NHibernate.2.0.0.0 │ └── lib │ │ └── NET40 │ │ ├── SharpArch.NHibernate.dll │ │ └── SharpArch.NHibernate.pdb ├── SharpArch.NHibernate.2.1.2 │ ├── SharpArch.NHibernate.2.1.2.nupkg │ ├── SharpArch.NHibernate.2.1.2.nuspec │ └── lib │ │ └── NET40 │ │ ├── SharpArch.NHibernate.dll │ │ └── SharpArch.NHibernate.pdb ├── SharpArch.Web.Mvc.Castle.2.1.2 │ ├── SharpArch.Web.Mvc.Castle.2.1.2.nupkg │ ├── SharpArch.Web.Mvc.Castle.2.1.2.nuspec │ └── lib │ │ └── NET40 │ │ ├── SharpArch.Web.Mvc.dll │ │ └── SharpArch.Web.Mvc.pdb ├── inflector_extension.0.0.8 │ ├── inflector_extension.0.0.8.nupkg │ ├── inflector_extension.0.0.8.nuspec │ └── lib │ │ ├── Net35 │ │ └── inflector_extension.dll │ │ └── Net40 │ │ └── inflector_extension.dll ├── jQuery.1.6.1 │ └── Content │ │ └── Scripts │ │ ├── jquery-1.6.1-vsdoc.js │ │ ├── jquery-1.6.1.js │ │ └── jquery-1.6.1.min.js ├── log4net.1.2.10 │ ├── lib │ │ ├── 1.0 │ │ │ ├── log4net.dll │ │ │ └── log4net.xml │ │ ├── 1.1 │ │ │ ├── log4net.dll │ │ │ └── log4net.xml │ │ └── 2.0 │ │ │ ├── log4net.dll │ │ │ └── log4net.xml │ └── log4net.1.2.10.nupkg └── repositories.config ├── README ├── ReferencedAssemblies ├── ASP.NET MVC │ ├── Microsoft.Web.Mvc.dll │ ├── System.Web.Abstractions.dll │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.Mvc.dll │ ├── System.Web.Razor.dll │ ├── System.Web.Razor.xml │ ├── System.Web.Routing.dll │ ├── System.Web.WebPages.Razor.dll │ ├── System.Web.WebPages.Razor.xml │ ├── System.Web.WebPages.dll │ └── System.Web.WebPages.xml └── Machine.Specifications │ ├── CommandLine.dll │ ├── CommandLine.xml │ ├── InstallResharperRunner.4.1.bat │ ├── InstallResharperRunner.4.5.bat │ ├── InstallResharperRunner.5.0 - VS2008.bat │ ├── InstallResharperRunner.5.0 - VS2010.bat │ ├── InstallResharperRunner.5.1 - VS2008.bat │ ├── InstallResharperRunner.5.1 - VS2010.bat │ ├── InstallResharperRunner.6.0 - VS2008.bat │ ├── InstallResharperRunner.6.0 - VS2010.bat │ ├── InstallTDNetRunner.bat │ ├── InstallTDNetRunnerSilent.bat │ ├── License.txt │ ├── Machine.Specifications.AutoMocking.dll │ ├── Machine.Specifications.GallioAdapter.3.1.dll │ ├── Machine.Specifications.GallioAdapter.plugin │ ├── Machine.Specifications.Mvc.dll │ ├── Machine.Specifications.ReSharperRunner.4.1.dll │ ├── Machine.Specifications.ReSharperRunner.4.5.dll │ ├── Machine.Specifications.ReSharperRunner.5.0.dll │ ├── Machine.Specifications.ReSharperRunner.5.1.dll │ ├── Machine.Specifications.ReSharperRunner.6.0.dll │ ├── Machine.Specifications.Reporting.Templates.dll │ ├── Machine.Specifications.Reporting.dll │ ├── Machine.Specifications.SeleniumSupport.dll │ ├── Machine.Specifications.TDNetRunner.dll │ ├── Machine.Specifications.WatinSupport.dll │ ├── Machine.Specifications.dll │ ├── Machine.Specifications.dll.tdnet │ ├── NUnit.Specifications.AutoMocking.dll │ ├── Spark.dll │ ├── TestDriven.Framework.dll │ ├── install.ps1 │ ├── mspec-clr4.exe │ ├── mspec-clr4.exe.config │ ├── mspec-x86-clr4.exe │ ├── mspec-x86-clr4.exe.config │ ├── mspec-x86.exe │ └── mspec.exe └── Solutions ├── Backup ├── SharpArchCookbook.Web.Mvc │ ├── Global.asax.cs │ ├── SharpArchCookbook.Web.Mvc.csproj │ ├── Web.config │ └── packages.config └── SharpArchCookbook.sln ├── MSpecTests.SharpArchCookbook ├── MSpecTests.SharpArchCookbook.csproj ├── MSpecTests.SharpArchCookbook.csproj.vspscc ├── Properties │ └── AssemblyInfo.cs ├── Tasks │ ├── ProductModelTasksSpecs.cs │ └── ProductTasksSpecs.cs ├── Web.Mvc.Controllers │ ├── ProductModelsController.cs │ └── ProductsControllerSpecs.cs └── packages.config ├── Settings.StyleCop ├── SharpArchCookbook.Domain ├── Address.cs ├── Contracts │ └── Tasks │ │ └── IProductModelTasks.cs ├── Customer.cs ├── CustomerAddress.cs ├── Product.cs ├── ProductCategory.cs ├── ProductDescription.cs ├── ProductModeProductionDescription.cs ├── ProductModel.cs ├── Properties │ └── AssemblyInfo.cs ├── SalesOrderDetail.cs ├── SalesOrderHeader.cs ├── SalesStatus.cs ├── SharpArchCookbook.Domain.csproj ├── SharpArchCookbook.Domain.csproj.vspscc └── packages.config ├── SharpArchCookbook.Infrastructure ├── NHibernateMaps │ ├── AddressMap.cs │ ├── AutoPersistenceModelGenerator.cs │ ├── AutomappingConfiguration.cs │ ├── Conventions │ │ ├── CustomForeignKeyConvention.cs │ │ ├── HasManyConvention.cs │ │ ├── PrimaryKeyConvention.cs │ │ └── TableNameConvention.cs │ ├── CustomerAddressMap.cs │ ├── CustomerMap.cs │ ├── ProductCategoryMap.cs │ ├── ProductMap.cs │ ├── ProductModelMap.cs │ ├── ProductModelProductDescriptionMap.cs │ ├── SalesOrderDetailMap.cs │ └── SalesOrderHeaderMap.cs ├── Properties │ └── AssemblyInfo.cs ├── SharpArchCookbook.Infrastructure.csproj ├── SharpArchCookbook.Infrastructure.csproj.vspscc └── packages.config ├── SharpArchCookbook.Tasks ├── CommandHandlers │ ├── AddCustomerAddressHandler.cs │ └── ChangeCustomerAddressHandler.cs ├── Commands │ ├── AddCustomerAddressCommand.cs │ ├── AddressCommandBase.cs │ └── ChangeCustomerAddressCommand.cs ├── ProductModelTasks.cs ├── Properties │ └── AssemblyInfo.cs ├── SharpArchCookbook.Tasks.csproj └── packages.config ├── SharpArchCookbook.Tests ├── App.config ├── Hibernate.cfg.xml ├── ProductsQueryObjectTests.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceLocatorInitializer.cs └── SharpArchCookbook.Tests.csproj ├── SharpArchCookbook.Web.Mvc ├── CastleWindsor │ ├── ControllerInstaller.cs │ ├── HandlerInstaller.cs │ ├── QueryInstaller.cs │ ├── RepositoryInstaller.cs │ ├── SharpArchInstaller.cs │ └── TasksInstaller.cs ├── Content │ ├── Site.css │ ├── img │ │ ├── sharp_arch.jpg │ │ └── sharp_arch_small.gif │ └── js │ │ ├── jquery-1.6.1.min.js │ │ └── modernizr-1.7.min.js ├── Controllers │ ├── CustomerController.cs │ ├── HomeController.cs │ ├── ProductModelsController.cs │ ├── ProductsController.cs │ ├── Queries │ │ └── Products │ │ │ ├── IProductsForSaleQuery.cs │ │ │ ├── IProductsListQuery.cs │ │ │ ├── ProductsForSaleQuery.cs │ │ │ └── ProductsListQuery.cs │ ├── RouteRegistrar.cs │ └── ViewModels │ │ ├── AddressChangeFormViewModel.cs │ │ ├── ProductViewModel.cs │ │ └── ProductsListViewModel.cs ├── Global.asax ├── Global.asax.cs ├── NHibernate.config ├── Properties │ └── AssemblyInfo.cs ├── README.txt ├── SharpArchCookbook.Web.Mvc.csproj ├── Views │ ├── Customer │ │ ├── ChangeAddress.cshtml │ │ └── Index.cshtml │ ├── Home │ │ └── Index.cshtml │ ├── ProductModels │ │ ├── CreateOrUpdate.cshtml │ │ └── Index.cshtml │ ├── Products │ │ ├── ForSale.cshtml │ │ └── Index.cshtml │ ├── Shared │ │ └── _Layout.cshtml │ └── Web.config ├── Web.config ├── _rltm_build_fl_SharpArchCookbook.Web.Mvc.csproj └── packages.config ├── SharpArchCookbook.sln ├── SharpArchCookbook.sln.DotSettings.user ├── StyleCopCompatibleResharperCodeStyle.xml └── nuget.config /.gitignore: -------------------------------------------------------------------------------- 1 | [Oo]bj 2 | [Bb]in 3 | debug 4 | _Resharper.* 5 | _ReSharper.* 6 | *.csproj.user 7 | *.resharper.user 8 | *.ReSharper.user 9 | *.resharper 10 | *.ReSharper 11 | *.suo 12 | *.cache 13 | *~ 14 | *.swp 15 | *.dbproj.user 16 | *.dbmdl 17 | error-*.xml 18 | 19 | *.dotCover 20 | *mm_cache.bin 21 | *.pidb 22 | *.userprefs -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "BuildSystem"] 2 | path = BuildSystem 3 | url = git://github.com/sharparchitecture/Sharp-Architecture-Build.git 4 | -------------------------------------------------------------------------------- /Build/Build.cmd: -------------------------------------------------------------------------------- 1 | %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild Build.proj /t:Build /p:IsDesktopBuild=true 2 | pause -------------------------------------------------------------------------------- /Build/Build.proj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | SharpArchCookbook 6 | $(MSBuildProjectDirectory)\..\Solutions 7 | $(MSBuildProjectDirectory)\..\BuildSystem 8 | $(SolutionsPath)\$(SolutionName).Web 9 | $(BuildPath)\..\.. 10 | 11 | 12 | 13 | 17 | $(DropsPath)\$(GlobalBuildVersionNumber)\$(PackageName).Source.v$(GlobalBuildVersionNumber).zip 18 | $(WebAppPath) 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 33 | 34 | -------------------------------------------------------------------------------- /Build/BuildAndPackage.cmd: -------------------------------------------------------------------------------- 1 | %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild Build.proj /p:IsDesktopBuild=true 2 | pause -------------------------------------------------------------------------------- /Common/AssemblyVersion.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.237 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | using System.Runtime.CompilerServices; 14 | using System.Runtime.InteropServices; 15 | 16 | [assembly: AssemblyFileVersion("1.0.0.0")] 17 | [assembly: AssemblyInformationalVersion("1.0.0.0")] 18 | [assembly: AssemblyVersion("1.0.0.0")] 19 | 20 | 21 | -------------------------------------------------------------------------------- /Common/CommonAssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Common/CommonAssemblyInfo.cs -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/BreakingChanges.txt: -------------------------------------------------------------------------------- 1 | === version 3.0 2 | ================================================================================================ 3 | change - Removed overloads of logging methods that were taking format string from ILogger and 4 | ILogger and IExtendedLogger and didn't have word Format in their name. 5 | For example: 6 | void Error(string format, params object[] args); // was removed 7 | void ErrorFormat(string format, params object[] args); //use this one instead 8 | 9 | 10 | impact - low 11 | fixability - medium 12 | revision - 13 | 14 | description - To minimize confusion and duplication those methods were removed. 15 | 16 | fix - Use methods that have explicit "Format" word in their name and same signature. 17 | ================================================================================================ 18 | change - Removed WebLogger and WebLoggerFactory 19 | 20 | impact - low 21 | fixability - medium 22 | revision - 23 | 24 | description - To minimize management overhead the classes were removed so that only single 25 | Client Profile version of Castle.Core can be distributed. 26 | 27 | fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing 28 | web logger and use it as a custom logger. 29 | 30 | ================================================================================================ 31 | change - Removed obsolete overload of ProxyGenerator.CreateClassProxy 32 | 33 | impact - low 34 | fixability - trivial 35 | revision - 36 | 37 | description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the 38 | method consistent with other methods and to remove confusion 39 | 40 | fix - whenever removed overload was used, use one of the other overloads. 41 | 42 | ================================================================================================ 43 | change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed 44 | 45 | impact - high 46 | fixability - easy 47 | revision - 48 | 49 | description - to accommodate class proxies with target method NonVirtualMemberNotification on 50 | IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification 51 | since for class proxies with target not just methods but also fields and other member that 52 | break the abstraction will be passed to this method. 53 | 54 | fix - whenever NonVirtualMemberNotification is used/implemented change the method name to 55 | NonProxyableMemberNotification. Implementors should also accommodate possibility that not 56 | only MethodInfos will be passed as method's second parameter. 57 | 58 | ================================================================================================ 59 | change - DynamicProxy will now allow to intercept members of System.Object 60 | 61 | impact - very low 62 | fixability - easy 63 | revision - 64 | 65 | description - to allow scenarios like mocking of System.Object members, DynamicProxy will not 66 | disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook) 67 | will still filter them out though. 68 | 69 | fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's 70 | members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods 71 | and if neccessary update the code to handle them appropriately. 72 | -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/Castle.Core.3.2.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/Castle.Core.3.2.2.nupkg -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/Castle.Core.3.2.2.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Castle.Core 5 | 3.2.2 6 | Castle Project Contributors 7 | Castle Project Contributors 8 | http://www.apache.org/licenses/LICENSE-2.0.html 9 | http://www.castleproject.org/ 10 | http://docs.castleproject.org/GetFile.aspx?File=/castleLogo100px.png 11 | false 12 | Castle Project Core, including DynamicProxy, Logging Abstractions and DictionaryAdapter 13 | Castle Project Core, including DynamicProxy, Logging Abstractions and DictionaryAdapter 14 | Copyright 2004-2013 Castle Project - http://www.castleproject.org/ 15 | castle dynamicproxy dynamic proxy dynamicproxy2 dictionaryadapter emailsender 16 | 17 | -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/Changes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/Changes.txt -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/License.txt: -------------------------------------------------------------------------------- 1 | Copyright 2004-2013 Castle Project - http://www.castleproject.org/ 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/lib/net35/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/lib/net35/Castle.Core.dll -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/lib/net40-client/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/lib/net40-client/Castle.Core.dll -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/lib/net45/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/lib/net45/Castle.Core.dll -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/lib/sl4/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/lib/sl4/Castle.Core.dll -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/lib/sl5/Castle.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Core.3.2.2/lib/sl5/Castle.Core.dll -------------------------------------------------------------------------------- /Packages/Castle.Core.3.2.2/readme.txt: -------------------------------------------------------------------------------- 1 | Thanks for downloading this Castle package. 2 | You can find full list of changes in changes.txt 3 | 4 | Documentation (work in progress, contributions appreciated): 5 | Dictionary Adapter - http://docs.castleproject.org/Tools.Castle-DictionaryAdapter.ashx 6 | DynamicProxy - http://docs.castleproject.org/Tools.DynamicProxy.ashx 7 | Discusssion group: - http://groups.google.com/group/castle-project-users 8 | StackOverflow tags: - castle-dynamicproxy, castle-dictionaryadapter, castle 9 | 10 | Issue tracker: - http://issues.castleproject.org/dashboard -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/Castle.Windsor.3.2.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/Castle.Windsor.3.2.1.nupkg -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/Castle.Windsor.3.2.1.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Castle.Windsor 5 | 3.2.1 6 | Castle Windsor 7 | Castle Project Contributors 8 | Castle Project Contributors 9 | http://www.apache.org/licenses/LICENSE-2.0.html 10 | http://docs.castleproject.org/Windsor.MainPage.ashx 11 | http://docs.castleproject.org/GetFile.aspx?File=/windsorLogo100px.png 12 | false 13 | Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight. 14 | Copyright 2004-2013 Castle Project - http://www.castleproject.org/ 15 | castle windsor inversionOfControl DependencyInjection 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/Changes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/Changes.txt -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/License.txt: -------------------------------------------------------------------------------- 1 | Copyright 2004-2013 Castle Project - http://www.castleproject.org/ 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/lib/net35/Castle.Windsor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/lib/net35/Castle.Windsor.dll -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/lib/net40-client/Castle.Windsor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/lib/net40-client/Castle.Windsor.dll -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/lib/net40/Castle.Windsor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/lib/net40/Castle.Windsor.dll -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/lib/net45/Castle.Windsor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/lib/net45/Castle.Windsor.dll -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/lib/sl4/Castle.Windsor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/lib/sl4/Castle.Windsor.dll -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/lib/sl5/Castle.Windsor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Castle.Windsor.3.2.1/lib/sl5/Castle.Windsor.dll -------------------------------------------------------------------------------- /Packages/Castle.Windsor.3.2.1/readme.txt: -------------------------------------------------------------------------------- 1 | Thanks for downloading this Castle Windsor package. 2 | You can find full list of changes in changes.txt 3 | 4 | Documentation: - http://docs.castleproject.org/Windsor.MainPage.ashx 5 | Discusssion group: - http://groups.google.com/group/castle-project-users 6 | StackOverflow tags: - castle-windsor, castle 7 | 8 | Issue tracker: - http://issues.castleproject.org/dashboard -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.1.0/CommonServiceLocator.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.1.0/CommonServiceLocator.1.0.nupkg -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.dll -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.pdb -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.1.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.1.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.WindsorAdapter.1.0/CommonServiceLocator.WindsorAdapter.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.WindsorAdapter.1.0/CommonServiceLocator.WindsorAdapter.1.0.nupkg -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.WindsorAdapter.1.0/lib/NET35/CommonServiceLocator.WindsorAdapter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.WindsorAdapter.1.0/lib/NET35/CommonServiceLocator.WindsorAdapter.dll -------------------------------------------------------------------------------- /Packages/CommonServiceLocator.WindsorAdapter.1.0/lib/NET35/CommonServiceLocator.WindsorAdapter.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/CommonServiceLocator.WindsorAdapter.1.0/lib/NET35/CommonServiceLocator.WindsorAdapter.pdb -------------------------------------------------------------------------------- /Packages/FluentNHibernate.1.4.0.0/FluentNHibernate.1.4.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/FluentNHibernate.1.4.0.0/FluentNHibernate.1.4.0.0.nupkg -------------------------------------------------------------------------------- /Packages/FluentNHibernate.1.4.0.0/FluentNHibernate.1.4.0.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FluentNHibernate 5 | 1.4.0.0 6 | James Gregory and contributors 7 | James Gregory and contributors 8 | http://github.com/jagregory/fluent-nhibernate/blob/master/LICENSE.txt 9 | http://github.com/jagregory/fluent-nhibernate/ 10 | false 11 | Fluent, XML-less, compile safe, automated, convention-based mappings for NHibernate. 12 | Fluent NHibernate provides a conventient way to configure NHibernate - no XML involved. 13 | en-US 14 | orm dal nhibernate conventions 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Packages/FluentNHibernate.1.4.0.0/lib/net35/FluentNHibernate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/FluentNHibernate.1.4.0.0/lib/net35/FluentNHibernate.dll -------------------------------------------------------------------------------- /Packages/Iesi.Collections.3.3.3.4001/Iesi.Collections.3.3.3.4001.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Iesi.Collections.3.3.3.4001/Iesi.Collections.3.3.3.4001.nupkg -------------------------------------------------------------------------------- /Packages/Iesi.Collections.3.3.3.4001/Iesi.Collections.3.3.3.4001.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Iesi.Collections 5 | 3.3.3.4001 6 | Aidant Systems, Jason Smith, NHibernate community 7 | Aidant Systems, Jason Smith, NHibernate community 8 | false 9 | The System.Collections namespace in the .NET Framework provides a number of collection 10 | types that are extremely useful for manipulating data in memory. However, there is one 11 | type of collection that is conspicuously missing from System.Collections: the Set. 12 | en-US 13 | Collections 14 | 15 | -------------------------------------------------------------------------------- /Packages/Iesi.Collections.3.3.3.4001/lib/Net35/Iesi.Collections.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Iesi.Collections.3.3.3.4001/lib/Net35/Iesi.Collections.dll -------------------------------------------------------------------------------- /Packages/Mvc3Futures.3.0.20105.0/Mvc3Futures.3.0.20105.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Mvc3Futures.3.0.20105.0/Mvc3Futures.3.0.20105.0.nupkg -------------------------------------------------------------------------------- /Packages/Mvc3Futures.3.0.20105.0/lib/Microsoft.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Mvc3Futures.3.0.20105.0/lib/Microsoft.Web.Mvc.dll -------------------------------------------------------------------------------- /Packages/MvcContrib.Mvc3-ci.3.0.100.0/MvcContrib.Mvc3-ci.3.0.100.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/MvcContrib.Mvc3-ci.3.0.100.0/MvcContrib.Mvc3-ci.3.0.100.0.nupkg -------------------------------------------------------------------------------- /Packages/MvcContrib.Mvc3-ci.3.0.100.0/MvcContrib.Mvc3-ci.3.0.100.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MvcContrib.Mvc3-ci 5 | 3.0.100.0 6 | Outercurve Foundation 7 | Outercurve Foundation 8 | http://mvccontrib.codeplex.com/license 9 | http://mvccontrib.codeplex.com/ 10 | false 11 | MvcContrib was designed to add functionality and ease-of-use to Microsoft's ASP.NET MVC Framework, MVC Contrib is useful for developers looking to develop and test UI elements on top of the ASP.NET MVC framework. 12 | MvcContrib was designed to add functionality and ease-of-use to Microsoft's ASP.NET MVC Framework, MVC Contrib is useful for developers looking to develop and test UI elements on top of the ASP.NET MVC framework. 13 | mvc 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Packages/MvcContrib.Mvc3-ci.3.0.100.0/lib/MvcContrib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/MvcContrib.Mvc3-ci.3.0.100.0/lib/MvcContrib.dll -------------------------------------------------------------------------------- /Packages/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0.nupkg -------------------------------------------------------------------------------- /Packages/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MvcContrib.Mvc3.FluentHtml-ci 5 | 3.0.100.0 6 | Outercurve Foundation 7 | Outercurve Foundation 8 | http://mvccontrib.codeplex.com/license 9 | http://mvccontrib.codeplex.com/ 10 | false 11 | MvcContrib.FluentHtml is a library of extensible, strongly-typed HTML helpers that employs a fluent API to increase productivty of authoring MVC views. 12 | MvcContrib.FluentHtml is a library of extensible, strongly-typed HTML helpers that employs a fluent API to increase productivty of authoring MVC views. 13 | mvc 14 | 15 | -------------------------------------------------------------------------------- /Packages/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0/lib/MvcContrib.FluentHtml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/MvcContrib.Mvc3.FluentHtml-ci.3.0.100.0/lib/MvcContrib.FluentHtml.dll -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/FireBird.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 17 | 18 | 19 | NHibernate.Driver.FirebirdClientDriver 20 | 21 | Server=localhost; 22 | Database=C:\nhibernate.fdb; 23 | User=SYSDBA;Password=masterkey 24 | 25 | false 26 | NHibernate.Dialect.FirebirdDialect 27 | 60 28 | true 1, false 0, yes 1, no 0 29 | 30 | 31 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/MSSQL.cfg.xml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | NHibernate.Driver.SqlClientDriver 11 | 12 | Server=(local);initial catalog=nhibernate;Integrated Security=SSPI 13 | 14 | NHibernate.Dialect.MsSql2008Dialect 15 | 16 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/MySql.cfg.xml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | NHibernate.Driver.MySqlDataDriver 11 | 12 | Database=test;Data Source=someip;User Id=blah;Password=blah 13 | 14 | NHibernate.Dialect.MySQLDialect 15 | 16 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/Oracle.cfg.xml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | NHibernate.Driver.OracleClientDriver 11 | 12 | User ID=nhibernate;Password=nhibernate;Data Source=localhost 13 | 14 | false 15 | NHibernate.Dialect.OracleDialect 16 | true 1, false 0, yes 'Y', no 'N' 17 | 18 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/PostgreSQL.cfg.xml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | NHibernate.Driver.NpgsqlDriver 10 | 11 | Server=localhost;Database=nhibernate;User ID=nhibernate;Password=nhibernate; 12 | 13 | NHibernate.Dialect.PostgreSQL82Dialect 14 | 15 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SQLite.cfg.xml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | NHibernate.Driver.SQLite20Driver 10 | 11 | Data Source=nhibernate.db 12 | 13 | NHibernate.Dialect.SQLiteDialect 14 | 15 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SybaseASE.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | NHibernate.Driver.SybaseAseClientDriver 10 | 11 | Data Source=10.0.0.1;Port=5000;Database=nhibernate;User ID=nhibernate;Password=password 12 | 13 | NHibernate.Dialect.SybaseASE15Dialect 14 | true=1;false=0 15 | 16 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | NHibernate.Driver.SybaseSQLAnywhereDriver 10 | 11 | UID=DBA;PWD=sql;Server=localhost;DBN=nhibernate;DBF=c:\nhibernate.db;ASTOP=No 12 | 13 | NHibernate.Dialect.SybaseSQLAnywhere12Dialect 14 | true=1;false=0 15 | 16 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nupkg -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/NHibernate.3.3.3.4001.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | NHibernate 5 | 3.3.3.4001 6 | NHibernate community, Hibernate community 7 | NHibernate community, Hibernate community 8 | https://raw.github.com/nhibernate/nhibernate-core/3.3.x/lgpl.txt 9 | http://www.nhforge.org/ 10 | https://raw.github.com/nhibernate/nhibernate-core/3.3.x/logo/NHibernate-NuGet.png 11 | false 12 | NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, fully featured and used in thousands of successful projects. 13 | NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, fully featured and used in thousands of successful projects. 14 | en-US 15 | ORM DataBase DAL ObjectRelationalMapping 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/NHibernate.readme.html: -------------------------------------------------------------------------------- 1 |

Welcome to NHibernate

2 | 3 |

NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, 4 | fully featured and used in thousands of successful projects.

5 | 6 |

The NHibernate community website - http://www.nhforge.org - has a range of resources to help you get started, 7 | including wikis, blogs and reference documentation.

8 | 9 |

Latest Version

10 | 11 |

The quickest way to get the latest release of NHibernate is to add it to your project using 12 | NuGet (http://nuget.org/List/Packages/NHibernate).

13 | 14 |

Alternatively binaries are available from SourceForge at http://sourceforge.net/projects/nhibernate.

15 | 16 |

You are encouraged to review the release notes (releasenotes.txt), particularly when upgrading to a 17 | later version. The release notes will generally document any breaking changes.

18 | 19 |

Community Forums

20 | 21 |

There are two official NHibernate community forums:

22 | 23 | 27 | 28 |

Bug Reports

29 | 30 |

If you find any bugs, please report them using the JIRA bug tracker. A 31 | test-case that demonstrates the issue is usually required. Instructions on providing a test-case 32 | can be found here.

33 | 34 |

Licenses

35 | 36 |

This software is distributed under the terms of the Free Software Foundation Lesser GNU Public License (LGPL), version 2.1 (see lgpl.txt).

37 | 38 |

Credits

39 | 40 |

Many thanks to the following individuals, organisations and projects whose work is so important to the success 41 | of NHibernate (in no particular order):

42 | 43 | -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/NHibernate.releasenotes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/NHibernate.3.3.3.4001/NHibernate.releasenotes.txt -------------------------------------------------------------------------------- /Packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/NHibernate.3.3.3.4001/lib/Net35/NHibernate.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Newtonsoft.Json 5 | 5.0.8 6 | Json.NET 7 | James Newton-King 8 | James Newton-King 9 | https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md 10 | http://james.newtonking.com/json 11 | false 12 | Json.NET is a popular high-performance JSON framework for .NET 13 | en-US 14 | json 15 | 16 | -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Packages/Newtonsoft.Json.5.0.8/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | # open json.net splash page on package install 4 | # don't open if json.net is installed as a dependency 5 | 6 | try 7 | { 8 | $url = "http://james.newtonking.com/json" 9 | $dte2 = Get-Interface $dte ([EnvDTE80.DTE2]) 10 | 11 | if ($dte2.ActiveWindow.Caption -eq "Package Manager Console") 12 | { 13 | # user is installing from VS NuGet console 14 | # get reference to the window, the console host and the input history 15 | # show webpage if "install-package newtonsoft.json" was last input 16 | 17 | $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]) 18 | 19 | $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor ` 20 | [System.Reflection.BindingFlags]::NonPublic) 21 | 22 | $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1 23 | if ($prop -eq $null) { return } 24 | 25 | $hostInfo = $prop.GetValue($consoleWindow) 26 | if ($hostInfo -eq $null) { return } 27 | 28 | $history = $hostInfo.WpfConsole.InputHistory.History 29 | 30 | $lastCommand = $history | select -last 1 31 | 32 | if ($lastCommand) 33 | { 34 | $lastCommand = $lastCommand.Trim().ToLower() 35 | if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json")) 36 | { 37 | $dte2.ItemOperations.Navigate($url) | Out-Null 38 | } 39 | } 40 | } 41 | else 42 | { 43 | # user is installing from VS NuGet dialog 44 | # get reference to the window, then smart output console provider 45 | # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation 46 | 47 | $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor ` 48 | [System.Reflection.BindingFlags]::NonPublic) 49 | $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor ` 50 | [System.Reflection.BindingFlags]::NonPublic) 51 | if ($instanceField -eq $null -or $consoleField -eq $null) { return } 52 | 53 | $instance = $instanceField.GetValue($null) 54 | if ($instance -eq $null) { return } 55 | 56 | $consoleProvider = $consoleField.GetValue($instance) 57 | if ($consoleProvider -eq $null) { return } 58 | 59 | $console = $consoleProvider.CreateOutputConsole($false) 60 | 61 | $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor ` 62 | [System.Reflection.BindingFlags]::NonPublic) 63 | if ($messagesField -eq $null) { return } 64 | 65 | $messages = $messagesField.GetValue($console) 66 | if ($messages -eq $null) { return } 67 | 68 | $operations = $messages -split "==============================" 69 | 70 | $lastOperation = $operations | select -last 1 71 | 72 | if ($lastOperation) 73 | { 74 | $lastOperation = $lastOperation.ToLower() 75 | 76 | $lines = $lastOperation -split "`r`n" 77 | 78 | $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1 79 | 80 | if ($installMatch) 81 | { 82 | $dte2.ItemOperations.Navigate($url) | Out-Null 83 | } 84 | } 85 | } 86 | } 87 | catch 88 | { 89 | # stop potential errors from bubbling up 90 | # worst case the splash page won't open 91 | } 92 | 93 | # yolo -------------------------------------------------------------------------------- /Packages/RhinoMocks.3.6.1/RhinoMocks.3.6.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/RhinoMocks.3.6.1/RhinoMocks.3.6.1.nupkg -------------------------------------------------------------------------------- /Packages/RhinoMocks.3.6.1/RhinoMocks.3.6.1.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | RhinoMocks 5 | 3.6.1 6 | RhinoMocks 7 | ayende 8 | ayende 9 | http://hibernatingrhinos.com/open-source/rhino-mocks 10 | http://hibernatingrhinos.com/open-source/rhino-mocks 11 | false 12 | Rhino Mocks is using Castle Dynamic Proxy (http://www.castleproject.org/dynamicproxy/index.html) to handle proxying the types it needs to mock. 13 | The Dynamic Proxy project has been invaluable resource and made creating Rhino Mocks possible. 14 | Rhino Mocks is using Castle Dynamic Proxy (http://www.castleproject.org/dynamicproxy/index.html) to handle proxying the types it needs to mock. 15 | The Dynamic Proxy project has been invaluable resource a 16 | tdd mocking mocks unittest unittesting 17 | 18 | -------------------------------------------------------------------------------- /Packages/RhinoMocks.3.6.1/lib/net/Rhino.Mocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/RhinoMocks.3.6.1/lib/net/Rhino.Mocks.dll -------------------------------------------------------------------------------- /Packages/SharpArch.Domain.2.0.0.0/lib/NET40/SharpArch.Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Domain.2.0.0.0/lib/NET40/SharpArch.Domain.dll -------------------------------------------------------------------------------- /Packages/SharpArch.Domain.2.0.0.0/lib/NET40/SharpArch.Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Domain.2.0.0.0/lib/NET40/SharpArch.Domain.pdb -------------------------------------------------------------------------------- /Packages/SharpArch.Domain.2.1.2/SharpArch.Domain.2.1.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Domain.2.1.2/SharpArch.Domain.2.1.2.nupkg -------------------------------------------------------------------------------- /Packages/SharpArch.Domain.2.1.2/SharpArch.Domain.2.1.2.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SharpArch.Domain 5 | 2.1.2 6 | Sharp Architecture Dev Team 7 | Sharp Architecture Dev Team 8 | https://github.com/sharparchitecture/Sharp-Architecture/blob/master/License.txt 9 | http://www.sharparchitecture.net/ 10 | https://github.com/sharparchitecture/Sharp-Architecture/raw/master/Artefacts/Documentation/Logo_100x100.png 11 | false 12 | Provides the core interfaces and classes needed by a Sharp Architecture application. It is persitance ignorant and would be used with other packages that provide persistance support. 13 | Architectural foundation for building maintainable applications with Domain Driven Design patterns and practices 14 | en-US 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Packages/SharpArch.Domain.2.1.2/lib/NET40/SharpArch.Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Domain.2.1.2/lib/NET40/SharpArch.Domain.dll -------------------------------------------------------------------------------- /Packages/SharpArch.Domain.2.1.2/lib/NET40/SharpArch.Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Domain.2.1.2/lib/NET40/SharpArch.Domain.pdb -------------------------------------------------------------------------------- /Packages/SharpArch.NHibernate.2.0.0.0/lib/NET40/SharpArch.NHibernate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.NHibernate.2.0.0.0/lib/NET40/SharpArch.NHibernate.dll -------------------------------------------------------------------------------- /Packages/SharpArch.NHibernate.2.0.0.0/lib/NET40/SharpArch.NHibernate.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.NHibernate.2.0.0.0/lib/NET40/SharpArch.NHibernate.pdb -------------------------------------------------------------------------------- /Packages/SharpArch.NHibernate.2.1.2/SharpArch.NHibernate.2.1.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.NHibernate.2.1.2/SharpArch.NHibernate.2.1.2.nupkg -------------------------------------------------------------------------------- /Packages/SharpArch.NHibernate.2.1.2/SharpArch.NHibernate.2.1.2.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SharpArch.NHibernate 5 | 2.1.2 6 | Sharp Architecture Dev Team 7 | Sharp Architecture Dev Team 8 | https://github.com/sharparchitecture/Sharp-Architecture/blob/master/License.txt 9 | http://www.sharparchitecture.net/ 10 | https://github.com/sharparchitecture/Sharp-Architecture/raw/master/Artefacts/Documentation/Logo_100x100.png 11 | false 12 | Provides NHibernate persistance support for a Sharp Architecture application, providing NHibernate session managment and initialisation, MVC Transaction attributes and implementations of core SharpArch data access interfaces. 13 | Architectural foundation for building maintainable applications with Domain Driven Design patterns and practices 14 | en-US 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Packages/SharpArch.NHibernate.2.1.2/lib/NET40/SharpArch.NHibernate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.NHibernate.2.1.2/lib/NET40/SharpArch.NHibernate.dll -------------------------------------------------------------------------------- /Packages/SharpArch.NHibernate.2.1.2/lib/NET40/SharpArch.NHibernate.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.NHibernate.2.1.2/lib/NET40/SharpArch.NHibernate.pdb -------------------------------------------------------------------------------- /Packages/SharpArch.Web.Mvc.Castle.2.1.2/SharpArch.Web.Mvc.Castle.2.1.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Web.Mvc.Castle.2.1.2/SharpArch.Web.Mvc.Castle.2.1.2.nupkg -------------------------------------------------------------------------------- /Packages/SharpArch.Web.Mvc.Castle.2.1.2/SharpArch.Web.Mvc.Castle.2.1.2.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SharpArch.Web.Mvc.Castle 5 | 2.1.2 6 | Sharp Architecture Dev Team 7 | Sharp Architecture Dev Team 8 | https://github.com/sharparchitecture/Sharp-Architecture/blob/master/License.txt 9 | http://www.sharparchitecture.net/ 10 | https://github.com/sharparchitecture/Sharp-Architecture/raw/master/Artefacts/Documentation/Logo_100x100.png 11 | false 12 | Provides MVC ModelBinder using Sharp Architecture's IRepository implementation registered with the IoC Container, a Castle Windsor MVC controller factory and Json.Net ActionResult 13 | Architectural foundation for building maintainable applications with Domain Driven Design patterns and practices 14 | en-US 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Packages/SharpArch.Web.Mvc.Castle.2.1.2/lib/NET40/SharpArch.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Web.Mvc.Castle.2.1.2/lib/NET40/SharpArch.Web.Mvc.dll -------------------------------------------------------------------------------- /Packages/SharpArch.Web.Mvc.Castle.2.1.2/lib/NET40/SharpArch.Web.Mvc.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/SharpArch.Web.Mvc.Castle.2.1.2/lib/NET40/SharpArch.Web.Mvc.pdb -------------------------------------------------------------------------------- /Packages/inflector_extension.0.0.8/inflector_extension.0.0.8.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/inflector_extension.0.0.8/inflector_extension.0.0.8.nupkg -------------------------------------------------------------------------------- /Packages/inflector_extension.0.0.8/inflector_extension.0.0.8.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | inflector_extension 5 | 0.0.8 6 | Brendan Erwin 7 | Brendan Erwin 8 | https://github.com/littlebits/inflector_extension 9 | https://github.com/littlebits/inflector_extension 10 | false 11 | Extension Methods for Inflector in C# 12 | littlebits inflector extension inflection pluralize titleize humanize 13 | 14 | -------------------------------------------------------------------------------- /Packages/inflector_extension.0.0.8/lib/Net35/inflector_extension.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/inflector_extension.0.0.8/lib/Net35/inflector_extension.dll -------------------------------------------------------------------------------- /Packages/inflector_extension.0.0.8/lib/Net40/inflector_extension.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/inflector_extension.0.0.8/lib/Net40/inflector_extension.dll -------------------------------------------------------------------------------- /Packages/log4net.1.2.10/lib/1.0/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/log4net.1.2.10/lib/1.0/log4net.dll -------------------------------------------------------------------------------- /Packages/log4net.1.2.10/lib/1.1/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/log4net.1.2.10/lib/1.1/log4net.dll -------------------------------------------------------------------------------- /Packages/log4net.1.2.10/lib/2.0/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/log4net.1.2.10/lib/2.0/log4net.dll -------------------------------------------------------------------------------- /Packages/log4net.1.2.10/log4net.1.2.10.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Packages/log4net.1.2.10/log4net.1.2.10.nupkg -------------------------------------------------------------------------------- /Packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/README -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/Microsoft.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/Microsoft.Web.Mvc.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.Abstractions.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.Helpers.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.Mvc.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.Razor.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.Routing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.Routing.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.WebPages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.WebPages.Razor.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/ASP.NET MVC/System.Web.WebPages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/ASP.NET MVC/System.Web.WebPages.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/CommandLine.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.4.1.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.4.1.dll "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.4.1.pdb "%APPDATA%\JetBrains\ReSharper\v4.1\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.4.5.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.4.5.dll "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.4.5.pdb "%APPDATA%\JetBrains\ReSharper\v4.5\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.5.0 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.0.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.0.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.5.0 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.0.dll "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.0.pdb "%APPDATA%\JetBrains\ReSharper\v5.0\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.5.1 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.1.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.1.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.5.1 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.5.1.dll "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.5.1.pdb "%APPDATA%\JetBrains\ReSharper\v5.1\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.6.0 - VS2008.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.6.0.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.6.0.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs9.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallResharperRunner.6.0 - VS2010.bat: -------------------------------------------------------------------------------- 1 | mkdir "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" 2> NUL 2 | copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" 3 | copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" > NUL 4 | copy /y Machine.Specifications.ReSharperRunner.6.0.dll "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" 5 | copy /y Machine.Specifications.ReSharperRunner.6.0.pdb "%APPDATA%\JetBrains\ReSharper\v6.0\vs10.0\Plugins" > NUL -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallTDNetRunner.bat: -------------------------------------------------------------------------------- 1 | @echo off & if not "%ECHO%"=="" echo %ECHO% 2 | 3 | setlocal 4 | set LOCALDIR=%~dp0 5 | 6 | echo Windows Registry Editor Version 5.00 > MSpecTDNet.reg 7 | echo [HKEY_CURRENT_USER\Software\MutantDesign\TestDriven.NET\TestRunners\MSpec] >> MSpecTDNet.reg 8 | echo "Application"="" >> MSpecTDNet.reg 9 | echo "AssemblyPath"="%LOCALDIR:\=\\%Machine.Specifications.TDNetRunner.dll" >> MSpecTDNet.reg 10 | echo "TargetFrameworkAssemblyName"="Machine.Specifications" >> MSpecTDNet.reg 11 | echo "TypeName"="Machine.Specifications.TDNetRunner.SpecificationRunner" >> MSpecTDNet.reg 12 | echo @="5" >> MSpecTDNet.reg 13 | 14 | regedit MSpecTDNet.reg 15 | 16 | del MSpecTDNet.reg 17 | -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/InstallTDNetRunnerSilent.bat: -------------------------------------------------------------------------------- 1 | @echo off & if not "%ECHO%"=="" echo %ECHO% 2 | 3 | setlocal 4 | set LOCALDIR=%~dp0 5 | 6 | echo Windows Registry Editor Version 5.00 > MSpecTDNet.reg 7 | echo [HKEY_CURRENT_USER\Software\MutantDesign\TestDriven.NET\TestRunners\MSpec] >> MSpecTDNet.reg 8 | echo "Application"="" >> MSpecTDNet.reg 9 | echo "AssemblyPath"="%LOCALDIR:\=\\%Machine.Specifications.TDNetRunner.dll" >> MSpecTDNet.reg 10 | echo "TargetFrameworkAssemblyName"="Machine.Specifications" >> MSpecTDNet.reg 11 | echo "TypeName"="Machine.Specifications.TDNetRunner.SpecificationRunner" >> MSpecTDNet.reg 12 | echo @="5" >> MSpecTDNet.reg 13 | 14 | regedit /s MSpecTDNet.reg 15 | 16 | del MSpecTDNet.reg 17 | -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 Machine Project 2 | Portions Copyright (c) 2008 Jacob Lewallen, Aaron Jensen 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | ***************************** 23 | Some parts licensed under MS-PL 24 | ***************************** 25 | 26 | This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. 27 | 28 | 1. Definitions 29 | 30 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. 31 | 32 | A "contribution" is the original software, or any additions or changes to the software. 33 | 34 | A "contributor" is any person that distributes its contribution under this license. 35 | 36 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 37 | 38 | 2. Grant of Rights 39 | 40 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 41 | 42 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 43 | 44 | 3. Conditions and Limitations 45 | 46 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 47 | 48 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 49 | 50 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 51 | 52 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 53 | 54 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.AutoMocking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.AutoMocking.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.GallioAdapter.3.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.GallioAdapter.3.1.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.GallioAdapter.plugin: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | Machine Specifications Adapter Plugin 7 | 0.4.24.0 8 | Provides support for running MSpec within Gallio. Requires the assemblies from MSpec. 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 27 | 29 | 30 | 31 | 32 | 35 | 36 | Machine Specifications 37 | Machine.Specifications, Version=0.4.24.0 38 | 0.4.24.0 39 | Assembly 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.Mvc.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.4.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.4.1.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.4.5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.4.5.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.5.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.5.0.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.5.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.5.1.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.6.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.ReSharperRunner.6.0.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.Reporting.Templates.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.Reporting.Templates.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.Reporting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.Reporting.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.SeleniumSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.SeleniumSupport.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.TDNetRunner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.TDNetRunner.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.WatinSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.WatinSupport.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Machine.Specifications.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Machine.Specifications.dll.tdnet: -------------------------------------------------------------------------------- 1 | 2 | Machine.Specifications 0.4.24-f7fb6b5 3 | Machine.Specifications.TDNetRunner.dll 4 | Machine.Specifications.TDNetRunner.SpecificationRunner 5 | 6 | -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/NUnit.Specifications.AutoMocking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/NUnit.Specifications.AutoMocking.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/Spark.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/Spark.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/TestDriven.Framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/TestDriven.Framework.dll -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | $project.Object.References | Where-Object { $_.Name -eq 'Machine.Specifications.TDNetRunner' } | ForEach-Object { $_.Remove() } 3 | 4 | if ($false -eq $false) 5 | { 6 | Write-Warning "This is the unsigned version of Machine.Specifications. Use 'Install-Package Machine.Specifications-Signed' to install the signed version." 7 | } -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/mspec-clr4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/mspec-clr4.exe -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/mspec-clr4.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/mspec-x86-clr4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/mspec-x86-clr4.exe -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/mspec-x86-clr4.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/mspec-x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/mspec-x86.exe -------------------------------------------------------------------------------- /ReferencedAssemblies/Machine.Specifications/mspec.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/ReferencedAssemblies/Machine.Specifications/mspec.exe -------------------------------------------------------------------------------- /Solutions/Backup/SharpArchCookbook.Web.Mvc/Global.asax.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc 2 | { 3 | using System; 4 | using System.Reflection; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | using Castle.Windsor; 9 | 10 | // SharpArchCookbook.Web.Mvc.CastleWindsor 11 | using CastleWindsor; 12 | 13 | using CommonServiceLocator.WindsorAdapter; 14 | 15 | using Controllers; 16 | 17 | using Infrastructure.NHibernateMaps; 18 | 19 | using log4net.Config; 20 | 21 | using Microsoft.Practices.ServiceLocation; 22 | 23 | using SharpArch.NHibernate; 24 | using SharpArch.NHibernate.Web.Mvc; 25 | using SharpArch.Web.Mvc.Castle; 26 | using SharpArch.Web.Mvc.ModelBinder; 27 | 28 | 29 | /// 30 | /// Represents the MVC Application 31 | /// 32 | /// 33 | /// For instructions on enabling IIS6 or IIS7 classic mode, 34 | /// visit http://go.microsoft.com/?LinkId=9394801 35 | /// 36 | public class MvcApplication : System.Web.HttpApplication 37 | { 38 | private WebSessionStorage webSessionStorage; 39 | 40 | /// 41 | /// Due to issues on IIS7, the NHibernate initialization must occur in Init(). 42 | /// But Init() may be invoked more than once; accordingly, we introduce a thread-safe 43 | /// mechanism to ensure it's only initialized once. 44 | /// See http://msdn.microsoft.com/en-us/magazine/cc188793.aspx for explanation details. 45 | /// 46 | public override void Init() 47 | { 48 | base.Init(); 49 | this.webSessionStorage = new WebSessionStorage(this); 50 | } 51 | 52 | protected void Application_BeginRequest(object sender, EventArgs e) 53 | { 54 | NHibernateInitializer.Instance().InitializeNHibernateOnce(this.InitialiseNHibernateSessions); 55 | } 56 | 57 | protected void Application_Error(object sender, EventArgs e) 58 | { 59 | // Useful for debugging 60 | Exception ex = this.Server.GetLastError(); 61 | var reflectionTypeLoadException = ex as ReflectionTypeLoadException; 62 | } 63 | 64 | protected void Application_Start() 65 | { 66 | XmlConfigurator.Configure(); 67 | 68 | ViewEngines.Engines.Clear(); 69 | 70 | ViewEngines.Engines.Add(new RazorViewEngine()); 71 | 72 | ModelBinders.Binders.DefaultBinder = new SharpModelBinder(); 73 | 74 | ModelValidatorProviders.Providers.Add(new ClientDataTypeModelValidatorProvider()); 75 | 76 | this.InitializeServiceLocator(); 77 | 78 | AreaRegistration.RegisterAllAreas(); 79 | RouteRegistrar.RegisterRoutesTo(RouteTable.Routes); 80 | } 81 | 82 | /// 83 | /// Instantiate the container and add all Controllers that derive from 84 | /// WindsorController to the container. Also associate the Controller 85 | /// with the WindsorContainer ControllerFactory. 86 | /// 87 | protected virtual void InitializeServiceLocator() 88 | { 89 | IWindsorContainer container = new WindsorContainer(); 90 | 91 | ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container)); 92 | 93 | container.RegisterControllers(typeof(HomeController).Assembly); 94 | ComponentRegistrar.AddComponentsTo(container); 95 | 96 | ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container)); 97 | } 98 | 99 | private void InitialiseNHibernateSessions() 100 | { 101 | NHibernateSession.ConfigurationCache = new NHibernateConfigurationFileCache(); 102 | 103 | NHibernateSession.Init( 104 | this.webSessionStorage, 105 | new[] { Server.MapPath("~/bin/SharpArchCookbook.Infrastructure.dll") }, 106 | new AutoPersistenceModelGenerator().Generate(), 107 | Server.MapPath("~/NHibernate.config")); 108 | } 109 | } 110 | } -------------------------------------------------------------------------------- /Solutions/Backup/SharpArchCookbook.Web.Mvc/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 |
7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Solutions/Backup/SharpArchCookbook.Web.Mvc/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Solutions/Backup/SharpArchCookbook.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 11.00 2 | # Visual Studio 2010 3 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Domain", "Domain", "{D2AD5B1A-C8C2-487F-89CA-04900885F946}" 4 | EndProject 5 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Infrastructure", "Infrastructure", "{E6A458E6-AF91-4FB7-9224-5FC5E00C3996}" 6 | EndProject 7 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tasks", "Tasks", "{BDC8840A-C964-4EFB-8778-9BC01F516491}" 8 | EndProject 9 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Presentation", "Presentation", "{D5E689AA-BE7E-4F5F-AF51-03F71C6C31B2}" 10 | EndProject 11 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Specs", "Specs", "{2322D330-1A60-4F79-B553-53DED803A098}" 12 | EndProject 13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Domain", "SharpArchCookbook.Domain\SharpArchCookbook.Domain.csproj", "{8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}" 14 | EndProject 15 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Infrastructure", "SharpArchCookbook.Infrastructure\SharpArchCookbook.Infrastructure.csproj", "{9544D94B-9B6E-4B61-8A09-88382205BF86}" 16 | EndProject 17 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Tasks", "SharpArchCookbook.Tasks\SharpArchCookbook.Tasks.csproj", "{C9AAC14B-E695-4508-83B7-ACB8FC5A7284}" 18 | EndProject 19 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSpecTests.SharpArchCookbook", "MSpecTests.SharpArchCookbook\MSpecTests.SharpArchCookbook.csproj", "{F63E0957-B60B-47A3-96BB-76DC243D0C8A}" 20 | EndProject 21 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Web.Mvc", "SharpArchCookbook.Web.Mvc\SharpArchCookbook.Web.Mvc.csproj", "{39613BA0-1206-4A4B-A16A-C1F2A22D1267}" 22 | EndProject 23 | Global 24 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 25 | Debug|Any CPU = Debug|Any CPU 26 | Release|Any CPU = Release|Any CPU 27 | EndGlobalSection 28 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 29 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 30 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Debug|Any CPU.Build.0 = Debug|Any CPU 31 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Release|Any CPU.ActiveCfg = Release|Any CPU 32 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Release|Any CPU.Build.0 = Release|Any CPU 33 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 34 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Debug|Any CPU.Build.0 = Debug|Any CPU 35 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Release|Any CPU.ActiveCfg = Release|Any CPU 36 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Release|Any CPU.Build.0 = Release|Any CPU 37 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 38 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Debug|Any CPU.Build.0 = Debug|Any CPU 39 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Release|Any CPU.ActiveCfg = Release|Any CPU 40 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Release|Any CPU.Build.0 = Release|Any CPU 41 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 42 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Debug|Any CPU.Build.0 = Debug|Any CPU 43 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Release|Any CPU.ActiveCfg = Release|Any CPU 44 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Release|Any CPU.Build.0 = Release|Any CPU 45 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 46 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Debug|Any CPU.Build.0 = Debug|Any CPU 47 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Release|Any CPU.ActiveCfg = Release|Any CPU 48 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Release|Any CPU.Build.0 = Release|Any CPU 49 | EndGlobalSection 50 | GlobalSection(SolutionProperties) = preSolution 51 | HideSolutionNode = FALSE 52 | EndGlobalSection 53 | GlobalSection(NestedProjects) = preSolution 54 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6} = {D2AD5B1A-C8C2-487F-89CA-04900885F946} 55 | {9544D94B-9B6E-4B61-8A09-88382205BF86} = {E6A458E6-AF91-4FB7-9224-5FC5E00C3996} 56 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284} = {BDC8840A-C964-4EFB-8778-9BC01F516491} 57 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267} = {D5E689AA-BE7E-4F5F-AF51-03F71C6C31B2} 58 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A} = {2322D330-1A60-4F79-B553-53DED803A098} 59 | EndGlobalSection 60 | EndGlobal 61 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/MSpecTests.SharpArchCookbook.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MSpecTests.SharpArchCookbook")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("MSpecTests.SharpArchCookbook")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1b188fdd-c0ef-4033-9d3f-bb4efbdbca8e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/Tasks/ProductModelTasksSpecs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace MSpecTests.SharpArchCookbook.Tasks 7 | { 8 | class ProductModelTasksSpecs 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/Tasks/ProductTasksSpecs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace MSpecTests.SharpArchCookbook.Tasks 7 | { 8 | class ProductTasksSpecs 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/Web.Mvc.Controllers/ProductModelsController.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------------------------- 2 | // 3 | // Marked as auto-generated so StyleCop will ignore BDD style tests 4 | // 5 | //------------------------------------------------------------------------------------------------- 6 | 7 | using SharpArchCookbook.Domain; 8 | 9 | #pragma warning disable 169 10 | // ReSharper disable InconsistentNaming 11 | // ReSharper disable UnusedMember.Global 12 | // ReSharper disable UnusedMember.Local 13 | 14 | namespace MSpecTests.SharpArchCookbook.Web.Mvc.Controllers 15 | { 16 | using System.Web.Mvc; 17 | 18 | using System; 19 | using System.Collections.Generic; 20 | 21 | using global::SharpArchCookbook.Domain.Contracts.Tasks; 22 | using global::SharpArchCookbook.Web.Mvc.Controllers; 23 | 24 | using Machine.Specifications; 25 | using Machine.Specifications.AutoMocking.Rhino; 26 | using Machine.Specifications.Mvc; 27 | using Rhino.Mocks; 28 | 29 | public abstract class specification_for_product_models_controller : Specification 30 | { 31 | protected static IProductModelTasks product_model_tasks; 32 | 33 | Establish context = () => { 34 | product_model_tasks = DependencyOf(); 35 | }; 36 | } 37 | 38 | [Subject(typeof(ProductModelsController))] 39 | public class when_the_product_models_controller_is_asked_for_the_default_view : specification_for_product_models_controller 40 | { 41 | static List the_view_model; 42 | static ActionResult result; 43 | 44 | Establish context = () => { 45 | product_model_tasks.Stub(x => x.GetAll()).Return(the_view_model); 46 | }; 47 | 48 | Because of = () => result = subject.Index(); 49 | 50 | It should_return_the_default_view = () => result.ShouldBeAView().And().ShouldUseDefaultView(); 51 | } 52 | 53 | [Subject(typeof(ProductModelsController))] 54 | public class when_the_products_controller_is_to_create_or_update : specification_for_product_models_controller 55 | { 56 | static ActionResult result; 57 | static ProductModel product_model; 58 | 59 | private Establish context = () => 60 | { 61 | product_model = new ProductModel 62 | { 63 | ModifiedDate = DateTime.Now, 64 | Name = "Sharp Architecture" 65 | }; 66 | }; 67 | 68 | Because of = () => result = subject.CreateOrUpdate(product_model); 69 | 70 | It it_should_ask_tasks_to_add_new_product_model = () => product_model_tasks.AssertWasCalled(x => x.CreateOrUpdate(product_model)); 71 | } 72 | 73 | [Subject(typeof(ProductModelsController))] 74 | public class when_the_products_controller_is_asked_to_create_a_product_with_null_name : specification_for_product_models_controller 75 | { 76 | static ActionResult result; 77 | static ProductModel product_model; 78 | 79 | private Establish context = () => 80 | { 81 | product_model = new ProductModel 82 | { 83 | ModifiedDate = DateTime.Now, 84 | Name = null 85 | }; 86 | }; 87 | 88 | Because of = () => result = subject.CreateOrUpdate(product_model); 89 | 90 | It it_should_not_ask_tasks_to_add_new_product_model = () => product_model_tasks.AssertWasNotCalled(x => x.CreateOrUpdate(product_model)); 91 | } 92 | 93 | [Subject(typeof(ProductModelsController))] 94 | public class when_the_products_controller_is_asked_to_create_a_product_with_3_charachter_name : specification_for_product_models_controller 95 | { 96 | static ActionResult result; 97 | static ProductModel product_model; 98 | 99 | private Establish context = () => 100 | { 101 | product_model = new ProductModel 102 | { 103 | ModifiedDate = DateTime.Now, 104 | Name = "abc" 105 | }; 106 | }; 107 | 108 | Because of = () => result = subject.CreateOrUpdate(product_model); 109 | 110 | It it_should_not_ask_tasks_to_add_new_product_model = () => product_model_tasks.AssertWasNotCalled(x => x.CreateOrUpdate(product_model)); 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/Web.Mvc.Controllers/ProductsControllerSpecs.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------------------------- 2 | // 3 | // Marked as auto-generated so StyleCop will ignore BDD style tests 4 | // 5 | //------------------------------------------------------------------------------------------------- 6 | 7 | using System.Collections.Generic; 8 | using MvcContrib.Pagination; 9 | using SharpArchCookbook.Domain; 10 | using SharpArchCookbook.Web.Mvc.Controllers.ViewModels; 11 | 12 | #pragma warning disable 169 13 | // ReSharper disable InconsistentNaming 14 | // ReSharper disable UnusedMember.Global 15 | // ReSharper disable UnusedMember.Local 16 | 17 | namespace MSpecTests.SharpArchCookbook.Web.Mvc.Controllers 18 | { 19 | using System.Web.Mvc; 20 | 21 | using global::SharpArchCookbook.Web.Mvc.Controllers; 22 | using global::SharpArchCookbook.Web.Mvc.Controllers.Queries.Products; 23 | 24 | using Machine.Specifications; 25 | using Machine.Specifications.AutoMocking.Rhino; 26 | using Machine.Specifications.Mvc; 27 | using Rhino.Mocks; 28 | 29 | public abstract class specification_for_products_controller : Specification 30 | { 31 | protected static IProductsListQuery products_list_query; 32 | protected static IProductsForSaleQuery products_for_sale_query; 33 | 34 | Establish context = () => 35 | { 36 | products_for_sale_query = DependencyOf(); 37 | products_list_query = DependencyOf(); 38 | }; 39 | } 40 | 41 | [Subject(typeof(ProductsController))] 42 | public class when_the_products_controller_is_asked_for_the_default_view : specification_for_products_controller 43 | { 44 | static ProductsListViewModel the_view_model; 45 | static IPagination products; 46 | static ActionResult result; 47 | 48 | Establish context = () => 49 | { 50 | the_view_model = new ProductsListViewModel(); 51 | products_list_query.Stub(x => x.GetPagedList(0, 50)).Return(products); 52 | the_view_model.Products = products; 53 | }; 54 | 55 | Because of = () => result = subject.Index(null); 56 | 57 | It should_return_the_default_view = () => result.ShouldBeAView().And().ShouldUseDefaultView(); 58 | } 59 | 60 | [Subject(typeof(ProductsController))] 61 | public class when_the_products_controller_is_asked_to_get_products_for_sale : specification_for_products_controller 62 | { 63 | static ActionResult result; 64 | static IList products_List; 65 | 66 | Establish context = () => products_for_sale_query.Stub(p => p.GetProductsForSale()).Return(products_List); 67 | 68 | Because of = () => result = subject.ForSale(); 69 | 70 | It should_get_products_from_product_tasks = () => products_for_sale_query.AssertWasCalled(p => p.GetProductsForSale()); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Solutions/MSpecTests.SharpArchCookbook/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/Address.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using SharpArch.Domain.DomainModel; 5 | 6 | public class Address : Entity 7 | { 8 | public virtual string AddressLine1 { get; set; } 9 | 10 | public virtual string AddressLine2 { get; set; } 11 | 12 | public virtual string City { get; set; } 13 | 14 | public virtual string StateProvince { get; set; } 15 | 16 | public virtual string PostalCode { get; set; } 17 | 18 | public virtual string CountryRegion { get; set; } 19 | 20 | public virtual DateTime ModifiedDate { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/Contracts/Tasks/IProductModelTasks.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain.Contracts.Tasks 2 | { 3 | using System.Collections.Generic; 4 | 5 | public interface IProductModelTasks 6 | { 7 | List GetAll(); 8 | 9 | ProductModel Get(int id); 10 | 11 | ProductModel CreateOrUpdate(ProductModel productModel); 12 | 13 | void Delete(int id); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/Customer.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using SharpArch.Domain.DomainModel; 5 | 6 | public class Customer : Entity 7 | { 8 | public virtual bool NameStyle { get; set; } 9 | 10 | public virtual string Title { get; set; } 11 | 12 | public virtual string FirstName { get; set; } 13 | 14 | public virtual string MiddleName { get; set; } 15 | 16 | public virtual string LastName { get; set; } 17 | 18 | public virtual string Suffix { get; set; } 19 | 20 | public virtual string CompanyName { get; set; } 21 | 22 | public virtual string SalesPerson { get; set; } 23 | 24 | public virtual string EmailAddress { get; set; } 25 | 26 | public virtual string PasswordHash { get; set; } 27 | 28 | public virtual string PasswordSalt { get; set; } 29 | 30 | public virtual CustomerAddress CustomerAddress { get; set; } 31 | 32 | public virtual DateTime ModifiedDate { get; set; } 33 | } 34 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/CustomerAddress.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using SharpArch.Domain.DomainModel; 5 | 6 | /// 7 | /// Notice the EntityWithTypedId. Techically, this is a CompositeId 8 | /// based off of Address and Customer, but this ends up being a chore to impelement 9 | /// due to the PrimaryKeyConvention. In a real project, it would be better to throw in 10 | /// a CustomerAddressId column, populate it and not deal with this. 11 | /// 12 | public class CustomerAddress : EntityWithTypedId 13 | { 14 | public virtual string AddressType { get; set; } 15 | 16 | public virtual Address Address { get; set; } 17 | 18 | public virtual Customer Customer { get; set; } 19 | 20 | public virtual DateTime ModifiedDate { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/Product.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using System.ComponentModel.DataAnnotations; 5 | 6 | using SharpArch.Domain.DomainModel; 7 | 8 | public class Product : Entity 9 | { 10 | [Required(ErrorMessage = "Gotta have a name dude")] 11 | public virtual string Name { get; set; } 12 | 13 | public virtual string ProductNumber { get; set; } 14 | 15 | public virtual string Color { get; set; } 16 | 17 | public virtual double StandardCost { get; set; } 18 | 19 | public virtual double ListPrice { get; set; } 20 | 21 | public virtual string Size { get; set; } 22 | 23 | public virtual decimal Weight { get; set; } 24 | 25 | public virtual ProductCategory Category { get; set; } 26 | 27 | public virtual ProductModel Model { get; set; } 28 | 29 | public virtual DateTime SellStartDate { get; set; } 30 | 31 | public virtual DateTime SellEndDate { get; set; } 32 | 33 | public virtual DateTime DiscontinuedDate { get; set; } 34 | 35 | public virtual byte[] ThumbNailPhoto { get; set; } 36 | 37 | public virtual string ThumbnailPhotoFileName { get; set; } 38 | 39 | public virtual DateTime ModifiedDate { get; set; } 40 | } 41 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/ProductCategory.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | 6 | using SharpArch.Domain.DomainModel; 7 | 8 | public class ProductCategory : Entity 9 | { 10 | public virtual ProductCategory Parent { get; set; } 11 | 12 | public virtual string Name { get; set; } 13 | 14 | public virtual DateTime ModifiedDate { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/ProductDescription.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | 5 | using SharpArch.Domain.DomainModel; 6 | 7 | public class ProductDescription : Entity 8 | { 9 | public virtual string Description { get; set; } 10 | 11 | public virtual DateTime ModifiedDate { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/ProductModeProductionDescription.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | 5 | using SharpArch.Domain.DomainModel; 6 | 7 | public class ProductModeProductionDescription : Entity 8 | { 9 | public virtual ProductModel ProductModel { get; set; } 10 | 11 | public virtual ProductDescription ProductDescription { get; set; } 12 | 13 | public virtual string Culture { get; set; } 14 | 15 | public virtual DateTime ModifiedDate { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/ProductModel.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using System.ComponentModel.DataAnnotations; 5 | using SharpArch.Domain.DomainModel; 6 | 7 | public class ProductModel : Entity 8 | { 9 | [Required] 10 | [StringLength(100, MinimumLength = 10)] 11 | public virtual string Name { get; set; } 12 | 13 | public virtual DateTime ModifiedDate { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // General Information about an assembly is controlled through the following 4 | // set of attributes. Change these attribute values to modify the information 5 | // associated with an assembly. 6 | [assembly: AssemblyTitle("SharpArchCookbook.Domain")] 7 | [assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/SalesOrderDetail.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using System.Data.SqlTypes; 5 | 6 | using SharpArch.Domain.DomainModel; 7 | 8 | public class SalesOrderDetail : Entity 9 | { 10 | public virtual SalesOrderDetail Detail { get; set; } 11 | 12 | public virtual int Quantity { get; set; } 13 | 14 | public virtual Product Product { get; set; } 15 | 16 | // public virtual SqlMoney UnitPrice { get; set; } 17 | 18 | // public virtual SqlMoney LineTotal { get; set; } 19 | 20 | public virtual DateTime ModifiedDate { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/SalesOrderHeader.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | using System; 4 | using System.Data.SqlTypes; 5 | 6 | using SharpArch.Domain.DomainModel; 7 | 8 | public class SalesOrderHeader : Entity 9 | { 10 | public virtual int RevisionNumber { get; set; } 11 | 12 | public virtual DateTime OrderDate { get; set; } 13 | 14 | public virtual DateTime DueDate { get; set; } 15 | 16 | public virtual DateTime ShipDate { get; set; } 17 | 18 | public virtual SalesStatus Status { get; set; } 19 | 20 | public virtual bool OnlineOrderFlag { get; set; } 21 | 22 | public virtual string SalesOrderNumber { get; set; } 23 | 24 | public virtual string PurchaseOrderNumber { get; set; } 25 | 26 | public virtual Customer Customer { get; set; } 27 | 28 | public virtual CustomerAddress ShipToAddress { get; set; } 29 | 30 | public virtual CustomerAddress BillToAddress { get; set; } 31 | 32 | public virtual string ShipMethod { get; set; } 33 | 34 | // public virtual SqlMoney SubTotal { get; set; } 35 | 36 | // public virtual SqlMoney TaxAmount { get; set; } 37 | 38 | // public virtual SqlMoney Freight { get; set; } 39 | 40 | // public virtual SqlMoney TotalDue { get; set; } 41 | 42 | public virtual DateTime ModifiedDate { get; set; } 43 | } 44 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/SalesStatus.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Domain 2 | { 3 | public enum SalesStatus 4 | { 5 | InProgress = 1, 6 | Approved = 2, 7 | BackOrdered = 3, 8 | Rejected = 4, 9 | Shipped = 5, 10 | Cancelled = 6 11 | } 12 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/SharpArchCookbook.Domain.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Domain/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/AddressMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using Domain; 4 | 5 | using FluentNHibernate.Automapping; 6 | using FluentNHibernate.Automapping.Alterations; 7 | 8 | public class AddressMap : IAutoMappingOverride
9 | { 10 | public void Override(AutoMapping
mapping) 11 | { 12 | mapping.Table("Address"); 13 | 14 | mapping.Id(x => x.Id, "AddressID"); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/AutoPersistenceModelGenerator.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | #region Using Directives 4 | 5 | using System; 6 | 7 | using Conventions; 8 | 9 | using Domain; 10 | 11 | using FluentNHibernate.Automapping; 12 | using FluentNHibernate.Conventions; 13 | 14 | using SharpArch.Domain.DomainModel; 15 | using SharpArch.NHibernate.FluentNHibernate; 16 | 17 | #endregion 18 | 19 | /// 20 | /// Generates the automapping for the domain assembly 21 | /// 22 | public class AutoPersistenceModelGenerator : IAutoPersistenceModelGenerator 23 | { 24 | public AutoPersistenceModel Generate() 25 | { 26 | var mappings = AutoMap.AssemblyOf(new AutomappingConfiguration()); 27 | mappings.IgnoreBase(); 28 | mappings.IgnoreBase(typeof(EntityWithTypedId<>)); 29 | mappings.Conventions.Setup(GetConventions()); 30 | mappings.UseOverridesFromAssemblyOf(); 31 | 32 | return mappings; 33 | } 34 | 35 | private static Action GetConventions() 36 | { 37 | return c => 38 | { 39 | c.Add(); 40 | c.Add(); 41 | c.Add(); 42 | c.Add(); 43 | }; 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/AutomappingConfiguration.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using System; 4 | using System.Linq; 5 | 6 | using FluentNHibernate; 7 | using FluentNHibernate.Automapping; 8 | 9 | using SharpArch.Domain.DomainModel; 10 | 11 | public class AutomappingConfiguration : DefaultAutomappingConfiguration 12 | { 13 | public override bool ShouldMap(Type type) 14 | { 15 | return type.GetInterfaces().Any(x => 16 | x.IsGenericType && 17 | x.GetGenericTypeDefinition() == typeof(IEntityWithTypedId<>)); 18 | 19 | } 20 | 21 | public override bool IsId(Member member) 22 | { 23 | return member.Name == "Id"; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/Conventions/CustomForeignKeyConvention.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps.Conventions 2 | { 3 | #region Using Directives 4 | 5 | using System; 6 | 7 | using FluentNHibernate; 8 | using FluentNHibernate.Conventions; 9 | 10 | #endregion 11 | 12 | public class CustomForeignKeyConvention : ForeignKeyConvention 13 | { 14 | protected override string GetKeyName(Member property, Type type) 15 | { 16 | if (property == null) 17 | { 18 | return type.Name + "Id"; 19 | } 20 | 21 | return property.Name + "Id"; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/Conventions/HasManyConvention.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps.Conventions 2 | { 3 | #region Using Directives 4 | 5 | using FluentNHibernate.Conventions; 6 | 7 | #endregion 8 | 9 | public class HasManyConvention : IHasManyConvention 10 | { 11 | public void Apply(FluentNHibernate.Conventions.Instances.IOneToManyCollectionInstance instance) 12 | { 13 | instance.Key.Column(instance.EntityType.Name + "Id"); 14 | instance.Cascade.AllDeleteOrphan(); 15 | instance.Inverse(); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/Conventions/PrimaryKeyConvention.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps.Conventions 2 | { 3 | #region Using Directives 4 | 5 | using FluentNHibernate.Conventions; 6 | 7 | #endregion 8 | 9 | public class PrimaryKeyConvention : IIdConvention 10 | { 11 | public void Apply(FluentNHibernate.Conventions.Instances.IIdentityInstance instance) 12 | { 13 | instance.Column(instance.EntityType.Name + "Id"); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/Conventions/TableNameConvention.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps.Conventions 2 | { 3 | #region Using Directives 4 | 5 | using FluentNHibernate.Conventions; 6 | 7 | #endregion 8 | 9 | public class TableNameConvention : IClassConvention 10 | { 11 | public void Apply(FluentNHibernate.Conventions.Instances.IClassInstance instance) 12 | { 13 | instance.Table(instance.EntityType.Name.InflectTo().Capitalized); 14 | 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/CustomerAddressMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using System; 4 | 5 | using Domain; 6 | using FluentNHibernate.Automapping; 7 | using FluentNHibernate.Automapping.Alterations; 8 | 9 | public class CustomerAddressMap : IAutoMappingOverride 10 | { 11 | public void Override(AutoMapping mapping) 12 | { 13 | mapping.Table("CustomerAddress"); 14 | 15 | mapping.Id(x => x.Id, "rowguid"); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/CustomerMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using Domain; 4 | 5 | using FluentNHibernate.Automapping; 6 | using FluentNHibernate.Automapping.Alterations; 7 | 8 | public class CustomerMap : IAutoMappingOverride 9 | { 10 | public void Override(AutoMapping mapping) 11 | { 12 | mapping.Table("Customer"); 13 | 14 | mapping.Id(x => x.Id, "CustomerID"); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/ProductCategoryMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using FluentNHibernate.Automapping; 4 | using FluentNHibernate.Automapping.Alterations; 5 | 6 | using SharpArchCookbook.Domain; 7 | 8 | public class ProductCategoryMap : IAutoMappingOverride 9 | { 10 | public void Override(AutoMapping mapping) 11 | { 12 | mapping.Table("ProductCategory"); 13 | 14 | mapping.Id(x => x.Id, "ProductCategoryID"); 15 | 16 | mapping.References(x => x.Parent, "ParentProductCategoryID"); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/ProductMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using Domain; 4 | 5 | using FluentNHibernate.Automapping; 6 | using FluentNHibernate.Automapping.Alterations; 7 | 8 | public class ProductMap : IAutoMappingOverride 9 | { 10 | public void Override(AutoMapping mapping) 11 | { 12 | mapping.Table("Product"); 13 | 14 | mapping.Id(x => x.Id, "ProductID"); 15 | 16 | mapping.References(x => x.Category, "ProductCategoryID").Cascade.All(); 17 | mapping.References(x => x.Model, "ProductModelID"); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/ProductModelMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using Domain; 4 | 5 | using FluentNHibernate.Automapping; 6 | using FluentNHibernate.Automapping.Alterations; 7 | 8 | public class ProductModelMap : IAutoMappingOverride 9 | { 10 | public void Override(AutoMapping mapping) 11 | { 12 | mapping.Table("ProductModel"); 13 | mapping.Id(x => x.Id, "ProductModelID"); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/ProductModelProductDescriptionMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using Domain; 4 | 5 | using FluentNHibernate.Automapping; 6 | using FluentNHibernate.Automapping.Alterations; 7 | 8 | public class ProductModelProductDescriptionMap : IAutoMappingOverride 9 | { 10 | public void Override(AutoMapping mapping) 11 | { 12 | mapping.Table("ProductModeProductionDescription"); 13 | 14 | mapping.CompositeId().KeyReference(x => x.ProductModel, "ProductModelID") 15 | .KeyReference(x => x.ProductDescription, "ProductDescriptionID"); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/SalesOrderDetailMap.cs: -------------------------------------------------------------------------------- 1 | using FluentNHibernate.Automapping; 2 | using FluentNHibernate.Automapping.Alterations; 3 | 4 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 5 | { 6 | using FluentNHibernate.Mapping; 7 | using SharpArchCookbook.Domain; 8 | 9 | public class SalesOrderDetailMap : IAutoMappingOverride 10 | { 11 | public void Override(AutoMapping mapping) 12 | { 13 | mapping.Table("SalesOrderDetail"); 14 | 15 | mapping.Id(x => x.Id, "SalesOrderDetailID"); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/NHibernateMaps/SalesOrderHeaderMap.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Infrastructure.NHibernateMaps 2 | { 3 | using Domain; 4 | using FluentNHibernate.Automapping; 5 | using FluentNHibernate.Automapping.Alterations; 6 | 7 | public class SalesOrderHeaderMap : IAutoMappingOverride 8 | { 9 | public void Override(AutoMapping mapping) 10 | { 11 | mapping.Table("SalesOrderHeader"); 12 | 13 | mapping.Id(x => x.Id, "SalesOrderID"); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // General Information about an assembly is controlled through the following 4 | // set of attributes. Change these attribute values to modify the information 5 | // associated with an assembly. 6 | [assembly: AssemblyTitle("SharpArchCookbook.Infrastructure")] 7 | [assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/SharpArchCookbook.Infrastructure.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Infrastructure/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/CommandHandlers/AddCustomerAddressHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tasks.CommandHandlers 2 | { 3 | using SharpArch.Domain.Commands; 4 | using SharpArch.Domain.PersistenceSupport; 5 | 6 | using SharpArchCookbook.Domain; 7 | using SharpArchCookbook.Tasks.Commands; 8 | 9 | public class AddCustomerAddressHandler : ICommandHandler 10 | { 11 | private readonly IRepository
addressRepository; 12 | 13 | public AddCustomerAddressHandler(IRepository
addressRepository) 14 | { 15 | this.addressRepository = addressRepository; 16 | } 17 | 18 | public void Handle(AddCustomerAddressCommand command) 19 | { 20 | var address = new Address 21 | { 22 | AddressLine1 = command.AddressLine1, 23 | AddressLine2 = command.AddressLine2, 24 | City = command.City, 25 | StateProvince = command.StateProvince, 26 | PostalCode = command.PostalCode, 27 | ModifiedDate = command.ModifiedDate, 28 | CountryRegion = command.CountryRegion 29 | }; 30 | 31 | this.addressRepository.SaveOrUpdate(address); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/CommandHandlers/ChangeCustomerAddressHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tasks.CommandHandlers 2 | { 3 | using Commands; 4 | using Domain; 5 | 6 | using SharpArch.Domain.Commands; 7 | using SharpArch.Domain.PersistenceSupport; 8 | 9 | public class ChangeCustomerAddressHandler : ICommandHandler 10 | { 11 | private readonly IRepository
addressRepository; 12 | 13 | public ChangeCustomerAddressHandler(IRepository
addressRepository) 14 | { 15 | this.addressRepository = addressRepository; 16 | } 17 | 18 | public void Handle(ChangeCustomerAddressCommand command) 19 | { 20 | var address = this.addressRepository.Get(command.Id); 21 | 22 | address.AddressLine1 = command.AddressLine1; 23 | address.AddressLine2 = command.AddressLine2; 24 | address.City = command.City; 25 | address.StateProvince = command.StateProvince; 26 | address.PostalCode = command.PostalCode; 27 | address.ModifiedDate = command.ModifiedDate; 28 | address.CountryRegion = command.CountryRegion; 29 | 30 | this.addressRepository.SaveOrUpdate(address); 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/Commands/AddCustomerAddressCommand.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tasks.Commands 2 | { 3 | public class AddCustomerAddressCommand : AddressCommandBase 4 | { 5 | public AddCustomerAddressCommand( 6 | string addressLine1, 7 | string addressLine2, 8 | string city, 9 | string stateProvince, 10 | string postalCode, 11 | string countryRegion) 12 | : base(addressLine1, addressLine2, city, stateProvince, postalCode, countryRegion) 13 | { 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/Commands/AddressCommandBase.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tasks.Commands 2 | { 3 | using System; 4 | using System.ComponentModel.DataAnnotations; 5 | 6 | using SharpArch.Domain.Commands; 7 | 8 | public class AddressCommandBase : CommandBase 9 | { 10 | protected AddressCommandBase( 11 | string addressLine1, 12 | string addressLine2, 13 | string city, 14 | string stateProvince, 15 | string postalCode, 16 | string countryRegion) 17 | { 18 | this.AddressLine1 = addressLine1; 19 | this.AddressLine2 = addressLine2; 20 | this.City = city; 21 | this.StateProvince = stateProvince; 22 | this.PostalCode = postalCode; 23 | this.ModifiedDate = DateTime.Now; 24 | this.CountryRegion = countryRegion; 25 | } 26 | 27 | [Required] 28 | public string AddressLine1 { get; set; } 29 | 30 | public string AddressLine2 { get; set; } 31 | 32 | [Required] 33 | public string City { get; set; } 34 | 35 | [Required] 36 | public string CountryRegion { get; set; } 37 | 38 | [Required] 39 | public DateTime ModifiedDate { get; set; } 40 | 41 | [Required] 42 | public string PostalCode { get; set; } 43 | 44 | [Required] 45 | public string StateProvince { get; set; } 46 | } 47 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/Commands/ChangeCustomerAddressCommand.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tasks.Commands 2 | { 3 | using System.ComponentModel.DataAnnotations; 4 | 5 | public class ChangeCustomerAddressCommand : AddressCommandBase 6 | { 7 | public ChangeCustomerAddressCommand( 8 | int id, 9 | string addressLine1, 10 | string addressLine2, 11 | string city, 12 | string stateProvince, 13 | string postalCode, 14 | string countryRegion) 15 | : base(addressLine1, addressLine2, city, stateProvince, postalCode, countryRegion) 16 | { 17 | this.Id = id; 18 | } 19 | 20 | [Required] 21 | public int Id { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/ProductModelTasks.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tasks 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | 7 | using Domain; 8 | using Domain.Contracts.Tasks; 9 | 10 | using SharpArch.Domain.PersistenceSupport; 11 | 12 | public class ProductModelTasks : IProductModelTasks 13 | { 14 | private readonly IRepository productModelRepository; 15 | 16 | public ProductModelTasks(IRepository productModelRepository) 17 | { 18 | this.productModelRepository = productModelRepository; 19 | } 20 | 21 | public List GetAll() 22 | { 23 | var allProductModels = this.productModelRepository.GetAll().ToList(); 24 | return allProductModels; 25 | } 26 | 27 | public ProductModel Get(int id) 28 | { 29 | return this.productModelRepository.Get(id); 30 | } 31 | 32 | public ProductModel CreateOrUpdate(ProductModel productModel) 33 | { 34 | productModel.ModifiedDate = DateTime.Now; 35 | this.productModelRepository.SaveOrUpdate(productModel); 36 | return productModel; 37 | } 38 | 39 | public void Delete(int id) 40 | { 41 | var productModel = this.productModelRepository.Get(id); 42 | this.productModelRepository.Delete(productModel); 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // General Information about an assembly is controlled through the following 4 | // set of attributes. Change these attribute values to modify the information 5 | // associated with an assembly. 6 | [assembly: AssemblyTitle("SharpArchCookbook.Tasks")] 7 | [assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tasks/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tests/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tests/Hibernate.cfg.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | NHibernate.Connection.DriverConnectionProvider 5 | NHibernate.Dialect.SQLiteDialect 6 | NHibernate.Driver.SQLite20Driver 7 | Data Source=:memory:;Version=3;New=True; 8 | on_close 9 | true 10 | 11 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tests/ProductsQueryObjectTests.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tests 2 | { 3 | using Domain; 4 | using NUnit.Framework; 5 | using SharpArch.NHibernate; 6 | using SharpArch.NHibernate.Contracts.Repositories; 7 | using SharpArch.Testing.NUnit; 8 | using SharpArch.Testing.NUnit.NHibernate; 9 | using Web.Mvc.Controllers.Queries.Products; 10 | 11 | [TestFixture] 12 | public class ProductsQueryObjectTests : RepositoryTestsBase 13 | { 14 | private readonly ProductsListQuery productsListQuery = new ProductsListQuery(); 15 | private readonly INHibernateRepository productRepository = new NHibernateRepository(); 16 | 17 | protected override void SetUp() 18 | { 19 | ServiceLocatorInitializer.Init(); 20 | base.SetUp(); 21 | } 22 | 23 | [Test] 24 | public void CanGetViewModel() 25 | { 26 | var productViewModels = this.productsListQuery.GetPagedList(1, 50); 27 | productViewModels.ShouldNotBeNull(); 28 | productViewModels.TotalItems.ShouldEqual(1); 29 | } 30 | 31 | protected override void LoadTestData() 32 | { 33 | this.CreatePersistedProducts(); 34 | } 35 | 36 | private void CreatePersistedProducts() 37 | { 38 | var product = new Product { Name = "MockProduct" }; 39 | this.productRepository.SaveOrUpdate(product); 40 | FlushSessionAndEvict(product); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SharpArchCookbook.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("SharpArchCookbook.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("e33b3152-69f1-42ac-8a9f-a104d0f42546")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tests/ServiceLocatorInitializer.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Tests 2 | { 3 | using Castle.MicroKernel.Registration; 4 | using Castle.Windsor; 5 | using CommonServiceLocator.WindsorAdapter; 6 | using Microsoft.Practices.ServiceLocation; 7 | using SharpArch.Domain.PersistenceSupport; 8 | using SharpArch.NHibernate; 9 | 10 | public class ServiceLocatorInitializer 11 | { 12 | public static void Init() 13 | { 14 | IWindsorContainer container = new WindsorContainer(); 15 | 16 | container.Register( 17 | Component.For(typeof(IEntityDuplicateChecker)) 18 | .ImplementedBy(typeof(EntityDuplicateChecker)) 19 | .Named("entityDuplicateChecker")); 20 | 21 | container.Register( 22 | Component.For(typeof(ISessionFactoryKeyProvider)) 23 | .ImplementedBy(typeof(DefaultSessionFactoryKeyProvider)) 24 | .Named("sessionFactoryKeyProvider")); 25 | 26 | ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container)); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Tests/SharpArchCookbook.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {CC4A233E-BE8A-47CC-A87C-8352BFD557B7} 9 | Library 10 | Properties 11 | SharpArchCookbook.Tests 12 | SharpArchCookbook.Tests 13 | v4.0 14 | 512 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | False 36 | ..\..\Packages\Castle.Core.2.5.2\lib\NET35\Castle.Core.dll 37 | 38 | 39 | ..\..\Packages\Castle.Windsor.2.5.3\lib\NET40\Castle.Windsor.dll 40 | 41 | 42 | ..\..\Packages\CommonServiceLocator.WindsorAdapter.1.0\lib\NET35\CommonServiceLocator.WindsorAdapter.dll 43 | 44 | 45 | ..\..\Packages\CommonServiceLocator.1.0\lib\NET35\Microsoft.Practices.ServiceLocation.dll 46 | 47 | 48 | ..\..\Packages\MvcContrib.Mvc3-ci.3.0.68.0\lib\MvcContrib.dll 49 | 50 | 51 | False 52 | ..\..\ReferencedAssemblies\NHibernate\NHibernate.dll 53 | 54 | 55 | ..\..\ReferencedAssemblies\NHibernate\NHibernate.Validator.dll 56 | 57 | 58 | ..\..\ReferencedAssemblies\NUnit\nunit.framework.dll 59 | 60 | 61 | ..\..\ReferencedAssemblies\SharpArchitecture\SharpArch.Domain.dll 62 | 63 | 64 | ..\..\ReferencedAssemblies\SharpArchitecture\SharpArch.NHibernate.dll 65 | 66 | 67 | ..\..\ReferencedAssemblies\SharpArchitecture\SharpArch.Testing.dll 68 | 69 | 70 | ..\..\ReferencedAssemblies\SharpArchitecture\SharpArch.Testing.NUnit.dll 71 | 72 | 73 | ..\..\ReferencedAssemblies\SharpArchitecture\SharpArch.Tests.dll 74 | 75 | 76 | 77 | 78 | ..\..\Packages\System.Data.SQLite.1.0.66.0\lib\System.Data.SQLite.DLL 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6} 94 | SharpArchCookbook.Domain 95 | 96 | 97 | {6F92992D-8D75-4BA8-87C3-146581235054} 98 | SharpArchCookbook.Web.Mvc 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | PreserveNewest 107 | 108 | 109 | 110 | 117 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/CastleWindsor/ControllerInstaller.cs: -------------------------------------------------------------------------------- 1 | using System.Web.Mvc; 2 | using Castle.MicroKernel.Registration; 3 | using Castle.MicroKernel.SubSystems.Configuration; 4 | using Castle.Windsor; 5 | 6 | namespace SharpArchCookbook.Web.Mvc.CastleWindsor 7 | { 8 | public class ControllerInstaller : IWindsorInstaller 9 | { 10 | public void Install(IWindsorContainer container, IConfigurationStore store) 11 | { 12 | container.Register( 13 | Classes 14 | .FromThisAssembly() 15 | .BasedOn() 16 | .Configure(c => c.Named(c.Implementation.Name)).LifestyleTransient() 17 | ); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/CastleWindsor/HandlerInstaller.cs: -------------------------------------------------------------------------------- 1 | using Castle.MicroKernel.Registration; 2 | using Castle.MicroKernel.SubSystems.Configuration; 3 | using Castle.Windsor; 4 | using SharpArch.Domain.Commands; 5 | using SharpArch.Domain.Events; 6 | 7 | namespace SharpArchCookbook.Web.Mvc.CastleWindsor 8 | { 9 | public class HandlersInstaller : IWindsorInstaller 10 | { 11 | public void Install(IWindsorContainer container, IConfigurationStore store) 12 | { 13 | container.Register( 14 | Classes.FromAssemblyNamed("SharpArchCookbook.Tasks") 15 | .BasedOn(typeof(ICommandHandler<>)) 16 | .WithService.FirstInterface().LifestylePerWebRequest()); 17 | 18 | container.Register( 19 | Classes.FromAssemblyNamed("SharpArchCookbook.Tasks") 20 | .BasedOn(typeof(ICommandHandler<,>)) 21 | .WithService.FirstInterface().LifestylePerWebRequest()); 22 | 23 | container.Register( 24 | Classes.FromAssemblyNamed("SharpArchCookbook.Tasks") 25 | .BasedOn(typeof(IHandles<>)) 26 | .WithService.FirstInterface().LifestylePerWebRequest()); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/CastleWindsor/QueryInstaller.cs: -------------------------------------------------------------------------------- 1 | using Castle.MicroKernel.Registration; 2 | using Castle.MicroKernel.SubSystems.Configuration; 3 | using Castle.Windsor; 4 | 5 | namespace SharpArchCookbook.Web.Mvc.CastleWindsor 6 | { 7 | public class QueryInstaller : IWindsorInstaller 8 | { 9 | public void Install(IWindsorContainer container, IConfigurationStore store) 10 | { 11 | container.Register( 12 | Classes.FromAssemblyNamed("SharpArchCookbook.Web.Mvc") 13 | .InNamespace("SharpArchCookbook.Web.Mvc.Controllers.Queries", true) 14 | .WithService.DefaultInterfaces() 15 | .LifestylePerWebRequest()); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/CastleWindsor/RepositoryInstaller.cs: -------------------------------------------------------------------------------- 1 | using Castle.MicroKernel.Registration; 2 | using Castle.MicroKernel.SubSystems.Configuration; 3 | using Castle.Windsor; 4 | using SharpArch.Domain.PersistenceSupport; 5 | using SharpArch.NHibernate; 6 | using SharpArch.NHibernate.Contracts.Repositories; 7 | 8 | namespace SharpArchCookbook.Web.Mvc.CastleWindsor 9 | { 10 | public class RepositoryInstaller : IWindsorInstaller 11 | { 12 | public void Install(IWindsorContainer container, IConfigurationStore store) 13 | { 14 | AddGenericRepositoriesTo(container); 15 | AddCustomRepositoriesTo(container); 16 | } 17 | 18 | private static void AddCustomRepositoriesTo(IWindsorContainer container) 19 | { 20 | container.Register( 21 | Classes.FromAssemblyNamed("SharpArchCookbook.Infrastructure") 22 | .BasedOn(typeof(IRepositoryWithTypedId<,>)) 23 | .WithService.DefaultInterfaces().LifestylePerWebRequest()); 24 | } 25 | 26 | private static void AddGenericRepositoriesTo(IWindsorContainer container) 27 | { 28 | container.Register( 29 | Component.For(typeof(INHibernateRepository<>)) 30 | .ImplementedBy(typeof(NHibernateRepository<>)) 31 | .Named("nhibernateRepositoryType") 32 | .Forward(typeof(IRepository<>)) 33 | .LifestylePerWebRequest()); 34 | 35 | container.Register( 36 | Component.For(typeof(INHibernateRepositoryWithTypedId<,>)) 37 | .ImplementedBy(typeof(LinqRepositoryWithTypedId<,>)) 38 | .Named("nhibernateRepositoryWithTypedId") 39 | .Forward(typeof(IRepositoryWithTypedId<,>), typeof(ILinqRepositoryWithTypedId<,>)) 40 | .LifestylePerWebRequest()); 41 | 42 | container.Register( 43 | Component.For(typeof(ILinqRepository<>)) 44 | .ImplementedBy(typeof(LinqRepository<>)) 45 | .Named("nhibernateLinqRepositoryType") 46 | .LifestylePerWebRequest()); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/CastleWindsor/SharpArchInstaller.cs: -------------------------------------------------------------------------------- 1 | using Castle.MicroKernel.Registration; 2 | using Castle.MicroKernel.SubSystems.Configuration; 3 | using Castle.Windsor; 4 | using SharpArch.Domain.Commands; 5 | using SharpArch.Domain.PersistenceSupport; 6 | using SharpArch.NHibernate; 7 | 8 | namespace SharpArchCookbook.Web.Mvc.CastleWindsor 9 | { 10 | public class SharpArchInstaller : IWindsorInstaller 11 | { 12 | public void Install(IWindsorContainer container, IConfigurationStore store) 13 | { 14 | container.Register( 15 | Component.For(typeof(IEntityDuplicateChecker)) 16 | .ImplementedBy(typeof(EntityDuplicateChecker)) 17 | .Named("entityDuplicateChecker")); 18 | 19 | container.Register( 20 | Component.For(typeof(ISessionFactoryKeyProvider)) 21 | .ImplementedBy(typeof(DefaultSessionFactoryKeyProvider)) 22 | .Named("sessionFactoryKeyProvider")); 23 | 24 | container.Register( 25 | Component.For(typeof(ICommandProcessor)) 26 | .ImplementedBy(typeof(CommandProcessor)) 27 | .Named("commandProcessor")); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/CastleWindsor/TasksInstaller.cs: -------------------------------------------------------------------------------- 1 | using Castle.MicroKernel.Registration; 2 | using Castle.MicroKernel.SubSystems.Configuration; 3 | using Castle.Windsor; 4 | 5 | namespace SharpArchCookbook.Web.Mvc.CastleWindsor 6 | { 7 | public class TasksInstaller : IWindsorInstaller 8 | { 9 | public void Install(IWindsorContainer container, IConfigurationStore store) 10 | { 11 | container.Register( 12 | Classes.FromAssemblyNamed("SharpArchCookbook.Tasks") 13 | .Pick().Unless(t => t.Namespace.EndsWith("Handlers")) 14 | .WithService.DefaultInterfaces() 15 | .Configure(c => c.LifestylePerWebRequest()) 16 | ); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Content/img/sharp_arch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Solutions/SharpArchCookbook.Web.Mvc/Content/img/sharp_arch.jpg -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Content/img/sharp_arch_small.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sharparchitecture/Sharp-Architecture-Cookbook/66b2f503ff765558b3a2e76b10a7ad1e2ba413f3/Solutions/SharpArchCookbook.Web.Mvc/Content/img/sharp_arch_small.gif -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/CustomerController.cs: -------------------------------------------------------------------------------- 1 | using SharpArch.Domain.PersistenceSupport; 2 | 3 | namespace SharpArchCookbook.Web.Mvc.Controllers 4 | { 5 | using System; 6 | using System.Linq; 7 | using System.Web.Mvc; 8 | 9 | using Domain; 10 | 11 | using MvcContrib; 12 | 13 | using SharpArch.Domain.Commands; 14 | using SharpArch.NHibernate.Contracts.Repositories; 15 | using SharpArch.NHibernate.Web.Mvc; 16 | 17 | using Tasks.Commands; 18 | using ViewModels; 19 | 20 | 21 | public class CustomerController : Controller 22 | { 23 | private readonly ICommandProcessor commandProcessor; 24 | 25 | private readonly INHibernateRepositoryWithTypedId customerAddressRepository; 26 | 27 | public CustomerController(ICommandProcessor commandProcessor, INHibernateRepositoryWithTypedId customerAddressRepository) 28 | { 29 | this.commandProcessor = commandProcessor; 30 | this.customerAddressRepository = customerAddressRepository; 31 | } 32 | 33 | [Transaction] 34 | [HttpGet] 35 | public ActionResult Index() 36 | { 37 | var tenLittleCustomers = this.customerAddressRepository.GetAll().Take(10).ToList(); 38 | return View(tenLittleCustomers); 39 | } 40 | 41 | [Transaction] 42 | [HttpGet] 43 | public ActionResult ChangeAddress(int id) 44 | { 45 | var viewModel = this.customerAddressRepository.Get(id); 46 | return View(viewModel); 47 | } 48 | 49 | [Transaction] 50 | [ValidateAntiForgeryToken] 51 | [HttpPost] 52 | public ActionResult ChangeAddress(Address address) 53 | { 54 | var command = new ChangeCustomerAddressCommand( 55 | address.Id, 56 | address.AddressLine1, 57 | address.AddressLine2, 58 | address.City, 59 | address.StateProvince, 60 | address.PostalCode, 61 | address.CountryRegion); 62 | 63 | this.commandProcessor.Process(command); 64 | 65 | return View(address); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc.Controllers 2 | { 3 | using System.Web.Mvc; 4 | 5 | public class HomeController : Controller 6 | { 7 | public ActionResult Index() 8 | { 9 | return View(); 10 | } 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/ProductModelsController.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc.Controllers 2 | { 3 | using System.Web.Mvc; 4 | using Domain; 5 | using Domain.Contracts.Tasks; 6 | using MvcContrib; 7 | using SharpArch.NHibernate.Web.Mvc; 8 | 9 | public class ProductModelsController : Controller 10 | { 11 | private readonly IProductModelTasks productModelTasks; 12 | 13 | public ProductModelsController(IProductModelTasks productModelTasks) 14 | { 15 | this.productModelTasks = productModelTasks; 16 | } 17 | 18 | [Transaction] 19 | public ActionResult Index() 20 | { 21 | return View(this.productModelTasks.GetAll()); 22 | } 23 | 24 | [Transaction] 25 | [HttpGet] 26 | public ActionResult CreateOrUpdate(int id) 27 | { 28 | return View(this.productModelTasks.Get(id)); 29 | } 30 | 31 | [Transaction] 32 | [ValidateAntiForgeryToken] 33 | [HttpPost] 34 | public ActionResult CreateOrUpdate(ProductModel productModel) 35 | { 36 | if (ModelState.IsValid && productModel.IsValid()) 37 | { 38 | this.productModelTasks.CreateOrUpdate(productModel); 39 | return this.RedirectToAction(x => x.Index()); 40 | } 41 | 42 | return View(productModel); 43 | } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/ProductsController.cs: -------------------------------------------------------------------------------- 1 | // #001 Using Query Objects 2 | 3 | namespace SharpArchCookbook.Web.Mvc.Controllers 4 | { 5 | using System.Web.Mvc; 6 | 7 | using Queries.Products; 8 | using ViewModels; 9 | 10 | public class ProductsController : Controller 11 | { 12 | private const int DefaultPageSize = 50; 13 | 14 | private readonly IProductsListQuery productsListQuery; 15 | 16 | private readonly IProductsForSaleQuery productsForSaleQuery; 17 | 18 | public ProductsController(IProductsListQuery productsListQuery, IProductsForSaleQuery productsForSaleQuery) 19 | { 20 | this.productsListQuery = productsListQuery; 21 | this.productsForSaleQuery = productsForSaleQuery; 22 | } 23 | 24 | public ActionResult Index(int? page) 25 | { 26 | var viewModel = new ProductsListViewModel 27 | { 28 | Products = this.productsListQuery.GetPagedList(page ?? 1, DefaultPageSize) 29 | }; 30 | return View(viewModel); 31 | } 32 | 33 | public ActionResult ForSale() 34 | { 35 | var viewModel = this.productsForSaleQuery.GetProductsForSale(); 36 | return View(viewModel); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/Queries/Products/IProductsForSaleQuery.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc.Controllers.Queries.Products 2 | { 3 | using System.Collections.Generic; 4 | 5 | using SharpArchCookbook.Domain; 6 | 7 | public interface IProductsForSaleQuery 8 | { 9 | IList GetProductsForSale(); 10 | } 11 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/Queries/Products/IProductsListQuery.cs: -------------------------------------------------------------------------------- 1 | // #001 Using Query Objects 2 | 3 | namespace SharpArchCookbook.Web.Mvc.Controllers.Queries.Products 4 | { 5 | using MvcContrib.Pagination; 6 | using ViewModels; 7 | 8 | public interface IProductsListQuery 9 | { 10 | IPagination GetPagedList(int page, int size); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/Queries/Products/ProductsForSaleQuery.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc.Controllers.Queries.Products 2 | { 3 | using System; 4 | using System.Collections.Generic; 5 | 6 | using SharpArch.NHibernate; 7 | 8 | using SharpArchCookbook.Domain; 9 | 10 | public class ProductsForSaleQuery : NHibernateQuery, IProductsForSaleQuery 11 | { 12 | public IList GetProductsForSale() 13 | { 14 | return Session.QueryOver() 15 | .Where(x => x.SellEndDate > new DateTime(2003, 5, 30)) 16 | .OrderBy(x => x.Name).Asc 17 | .List(); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/Queries/Products/ProductsListQuery.cs: -------------------------------------------------------------------------------- 1 | // #001 Using Query Objects 2 | 3 | namespace SharpArchCookbook.Web.Mvc.Controllers.Queries.Products 4 | { 5 | using Domain; 6 | using MvcContrib.Pagination; 7 | using NHibernate.Transform; 8 | using SharpArch.NHibernate; 9 | using ViewModels; 10 | 11 | public class ProductsListQuery : NHibernateQuery, IProductsListQuery 12 | { 13 | public IPagination GetPagedList(int page, int size) 14 | { 15 | var query = Session.QueryOver().OrderBy(x => x.Name).Asc; 16 | 17 | var count = query.ToRowCountQuery(); 18 | var totalCount = count.FutureValue(); 19 | 20 | var firstResult = (page - 1) * size; 21 | 22 | ProductViewModel viewModel = null; 23 | ProductCategory categoryAlias = null; 24 | 25 | var viewModels = 26 | query.JoinAlias(x => x.Category, () => categoryAlias) 27 | .SelectList(list => list 28 | .Select(x => x.Id).WithAlias(() => viewModel.Id) 29 | .Select(x => x.Name).WithAlias(() => viewModel.Name) 30 | .Select(x => x.ProductNumber).WithAlias(() => viewModel.ProductNumber) 31 | .Select(x => x.ListPrice).WithAlias(() => viewModel.ListPrice) 32 | .Select(x => x.SellStartDate).WithAlias(() => viewModel.SellEndDate) 33 | .Select(x => x.SellEndDate).WithAlias(() => viewModel.SellEndDate) 34 | 35 | // Flattening the object graph 36 | .Select(x => categoryAlias.Name).WithAlias(() => viewModel.CategoryName)) 37 | .TransformUsing(Transformers.AliasToBean(typeof(ProductViewModel))) 38 | .Skip(firstResult) 39 | .Take(size) 40 | .Future(); 41 | 42 | return new CustomPagination(viewModels, page, size, totalCount.Value); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/RouteRegistrar.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc.Controllers 2 | { 3 | using System.Web.Mvc; 4 | using System.Web.Routing; 5 | 6 | public class RouteRegistrar 7 | { 8 | public static void RegisterRoutesTo(RouteCollection routes) 9 | { 10 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 11 | routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); 12 | 13 | routes.MapRoute( 14 | "Default", // Route name 15 | "{controller}/{action}/{id}", // URL with parameters 16 | new { controller = "Home", action = "Index", id = UrlParameter.Optional }); // Parameter defaults 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/ViewModels/AddressChangeFormViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SharpArchCookbook.Web.Mvc.Controllers.ViewModels 2 | { 3 | using System; 4 | using FluentNHibernate.Data; 5 | 6 | public class AddressChangeFormViewModel 7 | { 8 | public AddressChangeFormViewModel(int addressId) 9 | { 10 | this.PreviousAddressId = addressId; 11 | } 12 | 13 | public int PreviousAddressId { get; set; } 14 | 15 | public string AddressLine1 { get; set; } 16 | 17 | public string AddressLine2 { get; set; } 18 | 19 | public string City { get; set; } 20 | 21 | public string StateProvince { get; set; } 22 | 23 | public string PostalCode { get; set; } 24 | } 25 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/ViewModels/ProductViewModel.cs: -------------------------------------------------------------------------------- 1 | // #001 Using Query Objects 2 | 3 | namespace SharpArchCookbook.Web.Mvc.Controllers.ViewModels 4 | { 5 | using System; 6 | using System.ComponentModel.DataAnnotations; 7 | 8 | public class ProductViewModel 9 | { 10 | public int Id { get; set; } 11 | 12 | public string Name { get; set; } 13 | 14 | public string CategoryName { get; set; } 15 | 16 | public string ProductNumber { get; set; } 17 | 18 | [DisplayFormat(DataFormatString = "{0:C}")] 19 | public double ListPrice { get; set; } 20 | 21 | [DisplayFormat(DataFormatString = "{0:d}")] 22 | public DateTime? SellStartDate { get; set; } 23 | 24 | [DisplayFormat(DataFormatString = "{0:d}")] 25 | public DateTime? SellEndDate { get; set; } 26 | } 27 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Controllers/ViewModels/ProductsListViewModel.cs: -------------------------------------------------------------------------------- 1 | // #001 Using Query Objects 2 | 3 | namespace SharpArchCookbook.Web.Mvc.Controllers.ViewModels 4 | { 5 | using MvcContrib.Pagination; 6 | 7 | public class ProductsListViewModel 8 | { 9 | public IPagination Products { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="SharpArchCookbook.Web.Mvc.MvcApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using SharpArchCookbook.Infrastructure.NHibernateMaps; 2 | using SharpArchCookbook.Web.Mvc.Controllers; 3 | 4 | namespace SharpArchCookbook.Web.Mvc 5 | { 6 | using System; 7 | using System.Web.Mvc; 8 | using System.Web.Routing; 9 | using Castle.Windsor; 10 | using Castle.Windsor.Installer; 11 | using CommonServiceLocator.WindsorAdapter; 12 | using log4net.Config; 13 | using Microsoft.Practices.ServiceLocation; 14 | using SharpArch.Domain.Events; 15 | using SharpArch.NHibernate; 16 | using SharpArch.NHibernate.Web.Mvc; 17 | using SharpArch.Web.Mvc.Castle; 18 | using SharpArch.Web.Mvc.ModelBinder; 19 | 20 | /// 21 | /// Represents the MVC Application 22 | /// 23 | /// 24 | /// For instructions on enabling IIS6 or IIS7 classic mode, 25 | /// visit http://go.microsoft.com/?LinkId=9394801 26 | /// 27 | public class MvcApplication : System.Web.HttpApplication 28 | { 29 | private WebSessionStorage webSessionStorage; 30 | 31 | /// 32 | /// Due to issues on IIS7, the NHibernate initialization must occur in Init(). 33 | /// But Init() may be invoked more than once; accordingly, we introduce a thread-safe 34 | /// mechanism to ensure it's only initialized once. 35 | /// See http://msdn.microsoft.com/en-us/magazine/cc188793.aspx for explanation details. 36 | /// 37 | public override void Init() 38 | { 39 | base.Init(); 40 | this.webSessionStorage = new WebSessionStorage(this); 41 | } 42 | 43 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 44 | { 45 | filters.Add(new HandleErrorAttribute()); 46 | } 47 | 48 | protected void Application_BeginRequest(object sender, EventArgs e) 49 | { 50 | NHibernateInitializer.Instance().InitializeNHibernateOnce(this.InitialiseNHibernateSessions); 51 | } 52 | 53 | protected void Application_Start() 54 | { 55 | XmlConfigurator.Configure(); 56 | 57 | ViewEngines.Engines.Clear(); 58 | 59 | ViewEngines.Engines.Add(new RazorViewEngine()); 60 | 61 | ModelBinders.Binders.DefaultBinder = new SharpModelBinder(); 62 | 63 | ModelValidatorProviders.Providers.Add(new ClientDataTypeModelValidatorProvider()); 64 | 65 | this.InitializeServiceLocator(); 66 | 67 | AreaRegistration.RegisterAllAreas(); 68 | 69 | RegisterGlobalFilters(GlobalFilters.Filters); 70 | RouteRegistrar.RegisterRoutesTo(RouteTable.Routes); 71 | } 72 | 73 | /// 74 | /// Instantiate the container and add all Controllers that derive from 75 | /// WindsorController to the container. Also associate the Controller 76 | /// with the WindsorContainer ControllerFactory. 77 | /// 78 | protected virtual void InitializeServiceLocator() 79 | { 80 | IWindsorContainer container = new WindsorContainer(); 81 | 82 | container.Install(FromAssembly.This()); 83 | 84 | ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container)); 85 | 86 | var windsorServiceLocator = new WindsorServiceLocator(container); 87 | DomainEvents.ServiceLocator = windsorServiceLocator; 88 | ServiceLocator.SetLocatorProvider(() => windsorServiceLocator); 89 | } 90 | 91 | private void InitialiseNHibernateSessions() 92 | { 93 | NHibernateSession.ConfigurationCache = new NHibernateConfigurationFileCache(); 94 | 95 | NHibernateSession.Init( 96 | this.webSessionStorage, 97 | new[] { Server.MapPath("~/bin/SharpArchCookbook.Infrastructure.dll") }, 98 | new AutoPersistenceModelGenerator().Generate(), 99 | Server.MapPath("~/NHibernate.config")); 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/NHibernate.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Server=localhost;Initial Catalog=AdventureWorksLT;Integrated Security=SSPI; 5 | AdventureWorksLT.SalesLT 6 | NHibernate.Dialect.MsSql2008Dialect 7 | NHibernate.Connection.DriverConnectionProvider 8 | NHibernate.Driver.SqlClientDriver 9 | true 10 | auto 11 | 500 12 | 13 | 15 | update 16 | 17 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // General Information about an assembly is controlled through the following 4 | // set of attributes. Change these attribute values to modify the information 5 | // associated with an assembly. 6 | [assembly: AssemblyTitle("SharpArchCookbook.Web")] 7 | [assembly: AssemblyDescription("")] 8 | [assembly: AssemblyConfiguration("")] 9 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/README.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------- 2 | -- 2.0 Release Candidate 3 | -------------------------------------------- 4 | 5 | This is a release candidate, use at your own risk. Please switch to the 1.9.6.0 for production releases: 6 | 7 | $ git checkout 1.9.6.0 8 | 9 | -------------------------------------------- 10 | -- Templify 11 | -------------------------------------------- 12 | 13 | We no longer support the use of the Visual Studio templates for installation of S#arp Architecture. With version 2.0, we have dropped support for Visual Studio 2008 altogether. To learn how to get a S#arp Architecture solution up and running, please go to http://blog.sharparchitecture.net/post/Using-Templify-to-create-a-new-Sarp-Architecture-solution.aspx 14 | 15 | -------------------------------------------- 16 | -- Downloads 17 | -------------------------------------------- 18 | 19 | Downloads can always be found here: https://github.com/sharparchitecture/Sharp-Architecture/downloads 20 | 21 | -------------------------------------------- 22 | -- Building S#arp Architecture 23 | -------------------------------------------- 24 | 25 | Perform the following command in GitBash: 26 | 27 | $ git clone git@github.com:sharparchitecture/Sharp-Architecture.git 28 | $ git submodule init 29 | $ git submodule update 30 | 31 | Now you should have the latest development branch of SA 2.0 and submodules. 32 | 33 | Now go to /Build and run the Build.cmd or BuildAndPackage.cmd files to build S#arp Architecture 34 | 35 | -------------------------------------------- 36 | -- Documentation and Assemblies 37 | -------------------------------------------- 38 | 39 | * /Artefacts/Documentation/: Contains a link to comprehensive, online documentation at http://wiki.sharparchitecture.net/, and a diagram of what a S#arp Architecture project looks like. 40 | 41 | * /Drops//: Holds released SharpArch assemblies - it does not include the third party library's that are needed by S#arp Architecture. You must run the BuildAndPackage.cmd file first. 42 | 43 | -------------------------------------------- 44 | -- How's this release organized? 45 | -------------------------------------------- 46 | 47 | * /Artefacts/: Contains various artefacts for the project 48 | 49 | * /Build/: Contains the .cmd files needed to build the solution 50 | 51 | * /ReferencedAssemblies/: Contains all of the required 3rd party assemblies. 52 | 53 | * /RequiredPackages/: Contains the required tools needed to build S#arp Architecture. 54 | 55 | * /License.txt: I'll let you guess what this is. 56 | 57 | * /Solutions/: This contains all of the source code in their various projects. 58 | 59 | * /VersionHistory.txt: Details version numbers of dependencies, changes since previous releases, upgrade details, and a roadmap of what's coming. 60 | 61 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Customer/ChangeAddress.cshtml: -------------------------------------------------------------------------------- 1 | @using SharpArchCookbook.Domain; 2 | @using MvcContrib.UI.Grid; 3 | 4 | @model Address 5 | 6 | @{ 7 | ViewBag.Title = "Address Change"; 8 | Layout = "~/Views/Shared/_Layout.cshtml"; 9 | } 10 | 11 | @using (Html.BeginForm()) { 12 | @Html.AntiForgeryToken() 13 |
14 |
    15 |
  • 16 | @Html.LabelFor(Model => Model.Id) 17 |
    @Html.DisplayFor(Model => Model.Id)
    18 |
  • 19 |
  • 20 | @Html.LabelFor(Model => Model.AddressLine1) 21 |
    @Html.TextBoxFor(Model => Model.AddressLine1)
    22 | @Html.ValidationMessageFor(Model => Model.AddressLine1) 23 |
  • 24 |
  • 25 | @Html.LabelFor(Model => Model.AddressLine2) 26 |
    @Html.TextBoxFor(Model => Model.AddressLine2)
    27 | @Html.ValidationMessageFor(Model => Model.AddressLine2) 28 |
  • 29 |
  • 30 | @Html.LabelFor(Model => Model.City) 31 |
    @Html.TextBoxFor(Model => Model.City)
    32 | @Html.ValidationMessageFor(Model => Model.City) 33 |
  • 34 |
  • 35 | @Html.LabelFor(Model => Model.StateProvince) 36 |
    @Html.TextBoxFor(Model => Model.StateProvince)
    37 | @Html.ValidationMessageFor(Model => Model.StateProvince) 38 |
  • 39 |
  • 40 | @Html.LabelFor(Model => Model.PostalCode) 41 |
    @Html.TextBoxFor(Model => Model.PostalCode)
    42 | @Html.ValidationMessageFor(Model => Model.PostalCode) 43 |
  • 44 |
  • 45 | @Html.LabelFor(Model => Model.CountryRegion) 46 |
    @Html.TextBoxFor(Model => Model.CountryRegion)
    47 | @Html.ValidationMessageFor(Model => Model.CountryRegion) 48 |
  • 49 |
  • 50 | @Html.SubmitButton("btnSave", "Save") 51 |
  • 52 |
53 |
54 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Customer/Index.cshtml: -------------------------------------------------------------------------------- 1 | @using SharpArchCookbook.Domain; 2 | @using MvcContrib.UI.Grid; 3 | 4 | @model IList
5 | @{ 6 | ViewBag.Title = "Addresses"; 7 | Layout = "~/Views/Shared/_Layout.cshtml"; 8 | } 9 | 10 | @Html.Grid(Model).Columns(column => 11 | { 12 | column.For(x => x.Id); 13 | column.For(x => x.AddressLine1); 14 | column.For(x => x.AddressLine2); 15 | column.For(x => x.City); 16 | column.For(x => x.StateProvince); 17 | column.For(x => x.PostalCode); 18 | column.For(x => (Html.ActionLink(a => a.ChangeAddress(x.Id), "Edit"))).Named("Edit"); 19 | }) -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Home"; 3 | Layout = "~/Views/Shared/_Layout.cshtml"; 4 | } 5 | 6 |

S#arp Architecture Project

7 |

What next?

8 |

9 | Your S#arp Architecture 2.0RC project is now setup and ready to go. This release is built on the RTM verion of ASP.NET MVC 3 and .NET 4. The only tasks remaining 10 | are to: 11 |

    12 |
  1. 13 | Create your database and set the connection string 14 | within SharpCookbook.Web/NHibernate.config 15 |
  2. 16 |
  3. 17 | Optionally, modify the Fluent NHibernate preferences within SharpCookbook.Data.NHibernateMaps.GetConventions() 18 | if you don't like the default settings. There's lots of terrific info about Fluent NHibernate 19 | at http://wiki.fluentnhibernate.org/show/HomePage. 20 |
  4. 21 |
  5. 22 | Open SharpCookbook.Tests.dll via NUnit and make sure all the tests are turning green. 23 |
  6. 24 |
  7. 25 | Add your first entity with CRUD scaffolding via /Code Generation/CrudScaffolding/ScaffoldingGeneratorCommand.tt. 26 | (If you include a namespace, be sure to setup the appropriate view area within 27 | SharpCookbook.Web.Controllers.RouteRegistrar.RegisterRoutesTo() after the scaffolding generator has completed.) 28 |
  8. 29 |
30 |

31 |

32 | If you need direction on what to do next, take a look at the documentation found in the 33 | /docs folder of the S#arp Architecture release package which provides a solid tutorial. 34 | You can also ask for assitance and guidance on the 35 | S#arp Architecture discussion boards. 36 |

37 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/ProductModels/CreateOrUpdate.cshtml: -------------------------------------------------------------------------------- 1 | @using SharpArchCookbook.Domain; 2 | @using MvcContrib.UI.Grid; 3 | 4 | @model ProductModel 5 | 6 | @{ 7 | ViewBag.Title = "ProductModel Edit"; 8 | Layout = "~/Views/Shared/_Layout.cshtml"; 9 | } 10 | 11 | @using (Html.BeginForm()) { 12 | @Html.AntiForgeryToken() 13 |
14 |
    15 |
  • 16 | @Html.LabelFor(Model => Model.Id) 17 |
    @Html.DisplayFor(Model => Model.Id)
    18 |
  • 19 |
  • 20 | @Html.LabelFor(Model => Model.Name) 21 |
    @Html.TextBoxFor(Model => Model.Name)
    22 | @Html.ValidationMessageFor(Model => Model.Name) 23 |
  • 24 |
  • 25 | @Html.LabelFor(Model => Model.ModifiedDate) 26 |
    @Html.DisplayFor(Model => Model.ModifiedDate)
    27 |
  • 28 |
  • 29 | @Html.SubmitButton("btnSave", "Save") 30 |
  • 31 |
32 |
33 | } -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/ProductModels/Index.cshtml: -------------------------------------------------------------------------------- 1 | @using SharpArchCookbook.Domain; 2 | @using MvcContrib.UI.Grid; 3 | 4 | @model IList 5 | @{ 6 | ViewBag.Title = "ProductModels"; 7 | Layout = "~/Views/Shared/_Layout.cshtml"; 8 | } 9 | 10 | @Html.Grid(Model).AutoGenerateColumns().Columns(extraCols => 11 | { 12 | extraCols.For(x => (Html.ActionLink(a => a.CreateOrUpdate(x.Id), "Edit"))) 13 | .Named("Edit"); 14 | }) 15 | 16 | @(Html.ActionLink(a => a.CreateOrUpdate(0), "Add")) -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Products/ForSale.cshtml: -------------------------------------------------------------------------------- 1 | @using MvcContrib.UI.Grid; 2 | @using SharpArchCookbook.Domain; 3 | 4 | @model IList 5 | @{ 6 | ViewBag.Title = "Products For Sale"; 7 | Layout = "~/Views/Shared/_Layout.cshtml"; 8 | } 9 | 10 | @Html.Grid(Model.Take(25)).Columns(column => { 11 | column.For(product => product.Id); 12 | column.For(product => product.Name); 13 | column.For(product => product.SellEndDate.ToShortDateString()).Named("Sell End Date"); 14 | }) -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Products/Index.cshtml: -------------------------------------------------------------------------------- 1 | @using MvcContrib.UI.Grid; 2 | @model SharpArchCookbook.Web.Mvc.Controllers.ViewModels.ProductsListViewModel 3 | @{ 4 | ViewBag.Title = "Products"; 5 | Layout = "~/Views/Shared/_Layout.cshtml"; 6 | } 7 | 8 | @Html.Grid(Model.Products).AutoGenerateColumns() 9 | 10 |
11 | @if(Model.Products.HasPreviousPage) { 12 | @(Html.ActionLink(c => c.Index(Model.Products.PageNumber - 1), "Previous")) 13 | } 14 | 15 | @if(Model.Products.HasNextPage) { 16 | @(Html.ActionLink(c => c.Index(Model.Products.PageNumber + 1), "Next")) 17 | } 18 |
19 | 20 |
21 | Page @Model.Products.PageNumber of @Model.Products.PageSize 22 |
-------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | @ViewBag.Title 14 | 15 | 16 | 17 |
18 |
19 |
20 |
21 |

22 | 23 |

24 |

SharpCookbook Pages

25 |
    26 |
  • @(Html.ActionLink(c => c.Index(), "Home"))
  • 27 |
  • @(Html.ActionLink(c => c.Index(), "Customers"))
  • 28 |
  • @(Html.ActionLink(c => c.Index(null), "Products"))
  • 29 |
  • @(Html.ActionLink(c => c.ForSale(), "Products For Sale"))
  • 30 |
  • @(Html.ActionLink(c => c.Index(), "ProductModels"))
  • 31 |
32 |
33 | 34 | 35 |
36 | @RenderBody() 37 |
38 | 39 |
40 |
41 | 42 |
43 | 44 | 45 | 46 |
47 | 48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Views/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 43 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |
5 | 6 |
7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.Web.Mvc/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio 2012 3 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Domain", "Domain", "{D2AD5B1A-C8C2-487F-89CA-04900885F946}" 4 | EndProject 5 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Infrastructure", "Infrastructure", "{E6A458E6-AF91-4FB7-9224-5FC5E00C3996}" 6 | EndProject 7 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tasks", "Tasks", "{BDC8840A-C964-4EFB-8778-9BC01F516491}" 8 | EndProject 9 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Presentation", "Presentation", "{D5E689AA-BE7E-4F5F-AF51-03F71C6C31B2}" 10 | EndProject 11 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Specs", "Specs", "{2322D330-1A60-4F79-B553-53DED803A098}" 12 | EndProject 13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Domain", "SharpArchCookbook.Domain\SharpArchCookbook.Domain.csproj", "{8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}" 14 | EndProject 15 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Infrastructure", "SharpArchCookbook.Infrastructure\SharpArchCookbook.Infrastructure.csproj", "{9544D94B-9B6E-4B61-8A09-88382205BF86}" 16 | EndProject 17 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Tasks", "SharpArchCookbook.Tasks\SharpArchCookbook.Tasks.csproj", "{C9AAC14B-E695-4508-83B7-ACB8FC5A7284}" 18 | EndProject 19 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSpecTests.SharpArchCookbook", "MSpecTests.SharpArchCookbook\MSpecTests.SharpArchCookbook.csproj", "{F63E0957-B60B-47A3-96BB-76DC243D0C8A}" 20 | EndProject 21 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpArchCookbook.Web.Mvc", "SharpArchCookbook.Web.Mvc\SharpArchCookbook.Web.Mvc.csproj", "{39613BA0-1206-4A4B-A16A-C1F2A22D1267}" 22 | EndProject 23 | Global 24 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 25 | Debug|Any CPU = Debug|Any CPU 26 | Release|Any CPU = Release|Any CPU 27 | EndGlobalSection 28 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 29 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 30 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Debug|Any CPU.Build.0 = Debug|Any CPU 31 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Release|Any CPU.ActiveCfg = Release|Any CPU 32 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6}.Release|Any CPU.Build.0 = Release|Any CPU 33 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 34 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Debug|Any CPU.Build.0 = Debug|Any CPU 35 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Release|Any CPU.ActiveCfg = Release|Any CPU 36 | {9544D94B-9B6E-4B61-8A09-88382205BF86}.Release|Any CPU.Build.0 = Release|Any CPU 37 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 38 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Debug|Any CPU.Build.0 = Debug|Any CPU 39 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Release|Any CPU.ActiveCfg = Release|Any CPU 40 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284}.Release|Any CPU.Build.0 = Release|Any CPU 41 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 42 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Debug|Any CPU.Build.0 = Debug|Any CPU 43 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Release|Any CPU.ActiveCfg = Release|Any CPU 44 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A}.Release|Any CPU.Build.0 = Release|Any CPU 45 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 46 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Debug|Any CPU.Build.0 = Debug|Any CPU 47 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Release|Any CPU.ActiveCfg = Release|Any CPU 48 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267}.Release|Any CPU.Build.0 = Release|Any CPU 49 | EndGlobalSection 50 | GlobalSection(SolutionProperties) = preSolution 51 | HideSolutionNode = FALSE 52 | EndGlobalSection 53 | GlobalSection(NestedProjects) = preSolution 54 | {8DEF56CD-601E-443C-9DCE-C4EC54C0B6A6} = {D2AD5B1A-C8C2-487F-89CA-04900885F946} 55 | {9544D94B-9B6E-4B61-8A09-88382205BF86} = {E6A458E6-AF91-4FB7-9224-5FC5E00C3996} 56 | {C9AAC14B-E695-4508-83B7-ACB8FC5A7284} = {BDC8840A-C964-4EFB-8778-9BC01F516491} 57 | {39613BA0-1206-4A4B-A16A-C1F2A22D1267} = {D5E689AA-BE7E-4F5F-AF51-03F71C6C31B2} 58 | {F63E0957-B60B-47A3-96BB-76DC243D0C8A} = {2322D330-1A60-4F79-B553-53DED803A098} 59 | EndGlobalSection 60 | EndGlobal 61 | -------------------------------------------------------------------------------- /Solutions/SharpArchCookbook.sln.DotSettings.user: -------------------------------------------------------------------------------- 1 |  2 | Never 3 | True -------------------------------------------------------------------------------- /Solutions/nuget.config: -------------------------------------------------------------------------------- 1 |  2 | ..\Packages 3 | --------------------------------------------------------------------------------