From 4c256986daa0a9856281ea7f2d5d157821733dd8 Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Fri, 14 Dec 2012 13:27:10 -0100 Subject: [PATCH] Adding a few constructor options to the services to ease use when newing the services instead of using the ServiceContext. --- src/Umbraco.Core/Services/ContentService.cs | 8 ++++++++ src/Umbraco.Core/Services/ContentTypeService.cs | 8 ++++++-- src/Umbraco.Core/Services/DataTypeService.cs | 9 +++++++++ src/Umbraco.Core/Services/FileService.cs | 4 ++++ src/Umbraco.Core/Services/LocalizationService.cs | 8 ++++++++ src/Umbraco.Core/Services/MacroService.cs | 12 +++++++++++- src/Umbraco.Core/Services/UserService.cs | 6 ++++++ 7 files changed, 52 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs index a6179464d5..13adfb2df7 100644 --- a/src/Umbraco.Core/Services/ContentService.cs +++ b/src/Umbraco.Core/Services/ContentService.cs @@ -24,10 +24,18 @@ namespace Umbraco.Core.Services private readonly RepositoryFactory _repositoryFactory; private HttpContextBase _httpContext; + public ContentService() + : this(new RepositoryFactory()) + {} + public ContentService(RepositoryFactory repositoryFactory) : this(new PetaPocoUnitOfWorkProvider(), repositoryFactory, new PublishingStrategy()) {} + public ContentService(IDatabaseUnitOfWorkProvider provider) + : this(provider, new RepositoryFactory(), new PublishingStrategy()) + { } + public ContentService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory) : this(provider, repositoryFactory, new PublishingStrategy()) { } diff --git a/src/Umbraco.Core/Services/ContentTypeService.cs b/src/Umbraco.Core/Services/ContentTypeService.cs index 1ff4a222ea..91197f8eb2 100644 --- a/src/Umbraco.Core/Services/ContentTypeService.cs +++ b/src/Umbraco.Core/Services/ContentTypeService.cs @@ -24,10 +24,14 @@ namespace Umbraco.Core.Services private readonly IDatabaseUnitOfWorkProvider _uowProvider; private HttpContextBase _httpContext; - public ContentTypeService(RepositoryFactory repositoryFactory, IContentService contentService, IMediaService mediaService) - : this(new PetaPocoUnitOfWorkProvider(), repositoryFactory, contentService, mediaService) + public ContentTypeService(IContentService contentService, IMediaService mediaService) + : this(new PetaPocoUnitOfWorkProvider(), new RepositoryFactory(), contentService, mediaService) {} + public ContentTypeService(RepositoryFactory repositoryFactory, IContentService contentService, IMediaService mediaService) + : this(new PetaPocoUnitOfWorkProvider(), repositoryFactory, contentService, mediaService) + { } + public ContentTypeService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, IContentService contentService, IMediaService mediaService) { _uowProvider = provider; diff --git a/src/Umbraco.Core/Services/DataTypeService.cs b/src/Umbraco.Core/Services/DataTypeService.cs index 3bc3020655..ccaf1c0b83 100644 --- a/src/Umbraco.Core/Services/DataTypeService.cs +++ b/src/Umbraco.Core/Services/DataTypeService.cs @@ -18,9 +18,18 @@ namespace Umbraco.Core.Services private readonly RepositoryFactory _repositoryFactory; private readonly IDatabaseUnitOfWorkProvider _uowProvider; + public DataTypeService() + : this(new RepositoryFactory()) + {} + public DataTypeService(RepositoryFactory repositoryFactory) : this(new PetaPocoUnitOfWorkProvider(), repositoryFactory) { + } + + public DataTypeService(IDatabaseUnitOfWorkProvider provider) + : this(provider, new RepositoryFactory()) + { } public DataTypeService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory) diff --git a/src/Umbraco.Core/Services/FileService.cs b/src/Umbraco.Core/Services/FileService.cs index e61454580b..ca31cb8641 100644 --- a/src/Umbraco.Core/Services/FileService.cs +++ b/src/Umbraco.Core/Services/FileService.cs @@ -16,6 +16,10 @@ namespace Umbraco.Core.Services private readonly IUnitOfWorkProvider _fileUowProvider; private readonly IDatabaseUnitOfWorkProvider _dataUowProvider; + public FileService() + : this(new RepositoryFactory()) + {} + public FileService(RepositoryFactory repositoryFactory) : this(new FileUnitOfWorkProvider(), new PetaPocoUnitOfWorkProvider(), repositoryFactory) { diff --git a/src/Umbraco.Core/Services/LocalizationService.cs b/src/Umbraco.Core/Services/LocalizationService.cs index 29fa3c9831..c105961cb5 100644 --- a/src/Umbraco.Core/Services/LocalizationService.cs +++ b/src/Umbraco.Core/Services/LocalizationService.cs @@ -18,10 +18,18 @@ namespace Umbraco.Core.Services private readonly IDatabaseUnitOfWorkProvider _uowProvider; private static readonly Guid RootParentId = new Guid("41c7638d-f529-4bff-853e-59a0c2fb1bde"); + public LocalizationService() + : this(new RepositoryFactory()) + {} public LocalizationService(RepositoryFactory repositoryFactory) : this(new PetaPocoUnitOfWorkProvider(), repositoryFactory) { + } + + public LocalizationService(IDatabaseUnitOfWorkProvider provider) + : this(provider, new RepositoryFactory()) + { } public LocalizationService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory) diff --git a/src/Umbraco.Core/Services/MacroService.cs b/src/Umbraco.Core/Services/MacroService.cs index 6ea283fb75..7b619d165b 100644 --- a/src/Umbraco.Core/Services/MacroService.cs +++ b/src/Umbraco.Core/Services/MacroService.cs @@ -16,8 +16,18 @@ namespace Umbraco.Core.Services private readonly RepositoryFactory _repositoryFactory; private readonly IUnitOfWorkProvider _uowProvider; + public MacroService() + : this(new RepositoryFactory()) + { + } + public MacroService(RepositoryFactory repositoryFactory) - : this(new FileUnitOfWorkProvider(), repositoryFactory) + : this(new FileUnitOfWorkProvider(), repositoryFactory) + { + } + + public MacroService(IUnitOfWorkProvider provider) + : this(provider, new RepositoryFactory()) { } diff --git a/src/Umbraco.Core/Services/UserService.cs b/src/Umbraco.Core/Services/UserService.cs index 2bdd8136f5..5a395c7dc2 100644 --- a/src/Umbraco.Core/Services/UserService.cs +++ b/src/Umbraco.Core/Services/UserService.cs @@ -14,6 +14,12 @@ namespace Umbraco.Core.Services private readonly RepositoryFactory _repositoryFactory; private readonly IDatabaseUnitOfWorkProvider _uowProvider; + public UserService(RepositoryFactory repositoryFactory) : this(new PetaPocoUnitOfWorkProvider(), repositoryFactory) + {} + + public UserService(IDatabaseUnitOfWorkProvider provider) : this(provider, new RepositoryFactory()) + {} + public UserService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory) { _repositoryFactory = repositoryFactory;