GiveCampUK/GiveCRM — pull request #67 by alastairs (2011-11-26 00:04:20+00:00)
Title: Refactoring to repositories

Ok, this is a biggie. I have:

* Refactored to a more decoupled n-tier architecture. Simple.Data classes are now implementations of Repository interfaces, consumed by services in the Business Logic tier to provide further functionality. The Web tier, generally speaking, consumes the services rather than the repositories.
* GiveCRM.Web now has no dependency on GiveCRM.DataAccess
* I have therefore had to Introduce an AfterBuild step in GiveCRM.Web to copy the DataAccess DLLs to the GiveCRM.Web output path and configure the Solution to ensure GiveCRM.DataAccess is built before GiveCRM.Web.
* Increased test coverage of business logic tier. Code coverage of the entire solution is now up to 53%.
* Fixed a few bugs I found here and there.

In addition to the automated tests, I have smoke tested it. I don't guarantee I've caught all bugs I might have introduced though :-)