WIP working on getting Core project to build
This commit is contained in:
@@ -3,7 +3,8 @@ using System;
|
||||
using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging;
|
||||
|
||||
using Umbraco.Core.Persistence.Mappers;
|
||||
using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.SqlSyntax;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
@@ -19,77 +20,60 @@ namespace Umbraco.Core.Persistence
|
||||
private readonly ISqlSyntaxProvider _sqlSyntax;
|
||||
private readonly CacheHelper _cacheHelper;
|
||||
private readonly IUmbracoSettingsSection _settings;
|
||||
private readonly IMappingResolver _mappingResolver;
|
||||
|
||||
#region Ctors
|
||||
|
||||
public RepositoryFactory(CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider sqlSyntax, IUmbracoSettingsSection settings)
|
||||
public RepositoryFactory(CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider sqlSyntax, IUmbracoSettingsSection settings, IMappingResolver mappingResolver)
|
||||
{
|
||||
if (cacheHelper == null) throw new ArgumentNullException("cacheHelper");
|
||||
if (logger == null) throw new ArgumentNullException("logger");
|
||||
//if (sqlSyntax == null) throw new ArgumentNullException("sqlSyntax");
|
||||
if (settings == null) throw new ArgumentNullException("settings");
|
||||
if (mappingResolver == null) throw new ArgumentNullException("mappingResolver");
|
||||
|
||||
_cacheHelper = cacheHelper;
|
||||
_logger = logger;
|
||||
_sqlSyntax = sqlSyntax;
|
||||
_settings = settings;
|
||||
_mappingResolver = mappingResolver;
|
||||
}
|
||||
|
||||
[Obsolete("Use the ctor specifying all dependencies instead")]
|
||||
public RepositoryFactory()
|
||||
: this(ApplicationContext.Current.ApplicationCache, LoggerResolver.Current.Logger, SqlSyntaxContext.SqlSyntaxProvider, UmbracoConfig.For.UmbracoSettings())
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
[Obsolete("Use the ctor specifying all dependencies instead")]
|
||||
public RepositoryFactory(CacheHelper cacheHelper)
|
||||
: this(cacheHelper, LoggerResolver.Current.Logger, SqlSyntaxContext.SqlSyntaxProvider, UmbracoConfig.For.UmbracoSettings())
|
||||
{
|
||||
}
|
||||
|
||||
[Obsolete("Use the ctor specifying all dependencies instead, NOTE: disableAllCache has zero effect")]
|
||||
public RepositoryFactory(bool disableAllCache, CacheHelper cacheHelper)
|
||||
: this(cacheHelper, LoggerResolver.Current.Logger, SqlSyntaxContext.SqlSyntaxProvider, UmbracoConfig.For.UmbracoSettings())
|
||||
{
|
||||
if (cacheHelper == null) throw new ArgumentNullException("cacheHelper");
|
||||
_cacheHelper = cacheHelper;
|
||||
}
|
||||
|
||||
[Obsolete("Use the ctor specifying all dependencies instead")]
|
||||
public RepositoryFactory(bool disableAllCache)
|
||||
: this(disableAllCache ? CacheHelper.CreateDisabledCacheHelper() : ApplicationContext.Current.ApplicationCache, LoggerResolver.Current.Logger, SqlSyntaxContext.SqlSyntaxProvider, UmbracoConfig.For.UmbracoSettings())
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
internal virtual NotificationsRepository CreateNotificationsRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new NotificationsRepository(uow, _sqlSyntax);
|
||||
}
|
||||
|
||||
public virtual IExternalLoginRepository CreateExternalLoginRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new ExternalLoginRepository(uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IPublicAccessRepository CreatePublicAccessRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new PublicAccessRepository(uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual ITaskRepository CreateTaskRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new TaskRepository(uow,
|
||||
CacheHelper.CreateDisabledCacheHelper(), //never cache
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IAuditRepository CreateAuditRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new AuditRepository(uow,
|
||||
CacheHelper.CreateDisabledCacheHelper(), //never cache
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual ITagRepository CreateTagRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -109,7 +93,7 @@ namespace Umbraco.Core.Persistence
|
||||
CreateContentTypeRepository(uow),
|
||||
CreateTemplateRepository(uow),
|
||||
CreateTagRepository(uow),
|
||||
_settings.Content)
|
||||
_settings.Content, _mappingResolver)
|
||||
{
|
||||
EnsureUniqueNaming = _settings.Content.EnsureUniqueNaming
|
||||
};
|
||||
@@ -121,7 +105,7 @@ namespace Umbraco.Core.Persistence
|
||||
uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax,
|
||||
CreateTemplateRepository(uow));
|
||||
CreateTemplateRepository(uow), _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IDataTypeDefinitionRepository CreateDataTypeDefinitionRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -131,7 +115,7 @@ namespace Umbraco.Core.Persistence
|
||||
_cacheHelper,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax,
|
||||
CreateContentTypeRepository(uow));
|
||||
CreateContentTypeRepository(uow), _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IDictionaryRepository CreateDictionaryRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -141,7 +125,7 @@ namespace Umbraco.Core.Persistence
|
||||
_cacheHelper,
|
||||
_logger,
|
||||
_sqlSyntax,
|
||||
CreateLanguageRepository(uow));
|
||||
CreateLanguageRepository(uow), _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual ILanguageRepository CreateLanguageRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -149,7 +133,7 @@ namespace Umbraco.Core.Persistence
|
||||
return new LanguageRepository(
|
||||
uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IMediaRepository CreateMediaRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -160,7 +144,7 @@ namespace Umbraco.Core.Persistence
|
||||
_logger, _sqlSyntax,
|
||||
CreateMediaTypeRepository(uow),
|
||||
CreateTagRepository(uow),
|
||||
_settings.Content);
|
||||
_settings.Content, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IMediaTypeRepository CreateMediaTypeRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -168,7 +152,7 @@ namespace Umbraco.Core.Persistence
|
||||
return new MediaTypeRepository(
|
||||
uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IRelationRepository CreateRelationRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -177,7 +161,7 @@ namespace Umbraco.Core.Persistence
|
||||
uow,
|
||||
CacheHelper.CreateDisabledCacheHelper(), //never cache
|
||||
_logger, _sqlSyntax,
|
||||
CreateRelationTypeRepository(uow));
|
||||
CreateRelationTypeRepository(uow), _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IRelationTypeRepository CreateRelationTypeRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -185,7 +169,7 @@ namespace Umbraco.Core.Persistence
|
||||
return new RelationTypeRepository(
|
||||
uow,
|
||||
CacheHelper.CreateDisabledCacheHelper(), //never cache
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IScriptRepository CreateScriptRepository(IUnitOfWork uow)
|
||||
@@ -223,7 +207,7 @@ namespace Umbraco.Core.Persistence
|
||||
return new MigrationEntryRepository(
|
||||
uow,
|
||||
CacheHelper.CreateDisabledCacheHelper(), //never cache
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IServerRegistrationRepository CreateServerRegistrationRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -231,7 +215,7 @@ namespace Umbraco.Core.Persistence
|
||||
return new ServerRegistrationRepository(
|
||||
uow,
|
||||
_cacheHelper.StaticCache,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IUserTypeRepository CreateUserTypeRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -240,7 +224,7 @@ namespace Umbraco.Core.Persistence
|
||||
uow,
|
||||
//There's not many user types but we query on users all the time so the result needs to be cached
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IUserRepository CreateUserRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -250,14 +234,14 @@ namespace Umbraco.Core.Persistence
|
||||
//Need to cache users - we look up user information more than anything in the back office!
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax,
|
||||
CreateUserTypeRepository(uow));
|
||||
CreateUserTypeRepository(uow), _mappingResolver);
|
||||
}
|
||||
|
||||
internal virtual IMacroRepository CreateMacroRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new MacroRepository(uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IMemberRepository CreateMemberRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -269,14 +253,14 @@ namespace Umbraco.Core.Persistence
|
||||
CreateMemberTypeRepository(uow),
|
||||
CreateMemberGroupRepository(uow),
|
||||
CreateTagRepository(uow),
|
||||
_settings.Content);
|
||||
_settings.Content, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IMemberTypeRepository CreateMemberTypeRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new MemberTypeRepository(uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IMemberGroupRepository CreateMemberGroupRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -284,24 +268,24 @@ namespace Umbraco.Core.Persistence
|
||||
return new MemberGroupRepository(uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax,
|
||||
_cacheHelper);
|
||||
_cacheHelper, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IEntityRepository CreateEntityRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new EntityRepository(uow);
|
||||
return new EntityRepository(uow, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public virtual IDomainRepository CreateDomainRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new DomainRepository(uow, _cacheHelper, _logger, _sqlSyntax);
|
||||
return new DomainRepository(uow, _cacheHelper, _logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
public ITaskTypeRepository CreateTaskTypeRepository(IDatabaseUnitOfWork uow)
|
||||
{
|
||||
return new TaskTypeRepository(uow,
|
||||
CacheHelper.CreateDisabledCacheHelper(), //never cache
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
|
||||
internal virtual EntityContainerRepository CreateEntityContainerRepository(IDatabaseUnitOfWork uow)
|
||||
@@ -309,7 +293,7 @@ namespace Umbraco.Core.Persistence
|
||||
return new EntityContainerRepository(
|
||||
uow,
|
||||
_cacheHelper,
|
||||
_logger, _sqlSyntax);
|
||||
_logger, _sqlSyntax, _mappingResolver);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user