with a custom IDatabaseFactory (mostly for testing).
Changes AuditTrail to internal so the public way is just with the 'Audit' class.
Fixed ThreadSafetyServiceTests which was failing with the new AuditTrail stuff because of the
Database instances, this is not solved with the new PerThreadDatabaseFactory for the unit test.
Created new 'UmbracoDatabase' object which inherits from the PetaPoco one so that we can future proof
the implementation as we might want some custom logic on there. Now the IDatabaseFactory returns
an UmbracoDatabase instead of just Database.
them in each method since they are only supposed to be using their single unit of work anyways (resolving
will return the same repository anyways, but in some cases it might have been with a different UOW)
Removed SetUnitOfWork method on IRepository as this is not needed.
Removed the old implementation of RepositoryResolver and replaces it with the RepositoryInstanceResolver (but
maintained the name of RepositoryResolver)
Added unit tests to support resoling each instance, fixed CodeFirstTests to ensure that the base.TearDown() method is
called. Changed the BaseMapper's to internal.
Changes Properties to ICollection instead of Collection for IPublishedContent.
Creates PublishedContentBase object which handles the Url and Indexed property on IPublishedContent automatically so implementors should use this base
class instead. Moves GetPropertyValue extensions to the Umbraco.Web project instead of the
Umbraco.Core project because this method needs to parse internal links if the value is a string. We require the UmbracoContext
to do this so they must exist in the Web project.
Since the version will come from the assembly there is no need to have it as part of the GlobalSetting, which is internal and needs a makeover of its own.
Moved getting an IProfile to an extension method, as its not commonly used.
Removing dependencies in ContentService, so the Services and context can be moved to Core proj.
Implementing Template repository to use both filesystem and db.
PluginManager and added a cached plugin xml file to the PluginManager. Now we don't actually scan any assemblies on app startup
during plugin finding if none of the DLLs have changed. Added trace statements to the UmbracoModule for better benchmarking for
how long a full request takes to load from start to finish.
Adding a UserService, which should be fully implemented in a later release.
Refactoring usage of the ServiceContext, which is now loosely tied to the HttpContext as its used by the UserService.
Refactoring User/Writer on the Content class and interface.
Simplifying events and delegates in the publishing strategy.