diff --git a/src/Umbraco.Core/Persistence/Mappers/IMappingResolver.cs b/src/Umbraco.Core/Persistence/Mappers/IMappingResolver.cs
new file mode 100644
index 0000000000..a5e3ffffb0
--- /dev/null
+++ b/src/Umbraco.Core/Persistence/Mappers/IMappingResolver.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace Umbraco.Core.Persistence.Mappers
+{
+ public interface IMappingResolver
+ {
+ ///
+ /// Return a mapper by type
+ ///
+ ///
+ ///
+ BaseMapper ResolveMapperByType(Type type);
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Mappers/MappingResolver.cs b/src/Umbraco.Core/Persistence/Mappers/MappingResolver.cs
index 650a7924a4..14d763d28b 100644
--- a/src/Umbraco.Core/Persistence/Mappers/MappingResolver.cs
+++ b/src/Umbraco.Core/Persistence/Mappers/MappingResolver.cs
@@ -8,7 +8,7 @@ using Umbraco.Core.ObjectResolution;
namespace Umbraco.Core.Persistence.Mappers
{
- internal class MappingResolver : ContainerLazyManyObjectsResolver
+ internal class MappingResolver : ContainerLazyManyObjectsResolver, IMappingResolver
{
///
/// Constructor accepting a list of BaseMapper types that are attributed with the MapperFor attribute
@@ -32,7 +32,7 @@ namespace Umbraco.Core.Persistence.Mappers
///
///
///
- internal BaseMapper ResolveMapperByType(Type type)
+ public BaseMapper ResolveMapperByType(Type type)
{
return _mapperCache.GetOrAdd(type, type1 =>
{
diff --git a/src/Umbraco.Core/Persistence/Querying/IQuery.cs b/src/Umbraco.Core/Persistence/Querying/IQuery.cs
index b158943cb4..0689117d9b 100644
--- a/src/Umbraco.Core/Persistence/Querying/IQuery.cs
+++ b/src/Umbraco.Core/Persistence/Querying/IQuery.cs
@@ -4,27 +4,6 @@ using System.Linq.Expressions;
namespace Umbraco.Core.Persistence.Querying
{
- ///
- /// SD: This is a horrible hack but unless we break compatibility with anyone who's actually implemented IQuery{T} there's not much we can do.
- /// The IQuery{T} interface is useless without having a GetWhereClauses method and cannot be used for tests.
- /// We have to wait till v8 to make this change I suppose.
- ///
- internal static class QueryExtensions
- {
- ///
- /// Returns all translated where clauses and their sql parameters
- ///
- ///
- public static IEnumerable> GetWhereClauses(this IQuery query)
- {
- var q = query as Query;
- if (q == null)
- {
- throw new NotSupportedException(typeof(IQuery) + " cannot be cast to " + typeof(Query));
- }
- return q.GetWhereClauses();
- }
- }
///
/// Represents a query for building Linq translatable SQL queries
@@ -39,6 +18,11 @@ namespace Umbraco.Core.Persistence.Querying
/// This instance so calls to this method are chainable
IQuery Where(Expression> predicate);
-
+ ///
+ /// Returns all translated where clauses and their sql parameters
+ ///
+ ///
+ IEnumerable> GetWhereClauses();
+
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs b/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs
index c9f8720674..fcf70c4c58 100644
--- a/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs
+++ b/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs
@@ -15,10 +15,10 @@ namespace Umbraco.Core.Persistence.Querying
{
private readonly BaseMapper _mapper;
- public ModelToSqlExpressionHelper(ISqlSyntaxProvider sqlSyntax)
+ public ModelToSqlExpressionHelper(ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
: base(sqlSyntax)
{
- _mapper = MappingResolver.Current.ResolveMapperByType(typeof(T));
+ _mapper = mappingResolver.ResolveMapperByType(typeof(T));
}
protected override string VisitMemberAccess(MemberExpression m)
diff --git a/src/Umbraco.Core/Persistence/Querying/Query.cs b/src/Umbraco.Core/Persistence/Querying/Query.cs
index 8f09e25037..c51b451c21 100644
--- a/src/Umbraco.Core/Persistence/Querying/Query.cs
+++ b/src/Umbraco.Core/Persistence/Querying/Query.cs
@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
+using Umbraco.Core.Models.PublishedContent;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.SqlSyntax;
namespace Umbraco.Core.Persistence.Querying
@@ -13,11 +15,13 @@ namespace Umbraco.Core.Persistence.Querying
public class Query : IQuery
{
private readonly ISqlSyntaxProvider _sqlSyntax;
+ private readonly IMappingResolver _mappingResolver;
private readonly List> _wheres = new List>();
- public Query(ISqlSyntaxProvider sqlSyntax)
+ public Query(ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
{
_sqlSyntax = sqlSyntax;
+ _mappingResolver = mappingResolver;
}
///
@@ -29,7 +33,7 @@ namespace Umbraco.Core.Persistence.Querying
{
if (predicate != null)
{
- var expressionHelper = new ModelToSqlExpressionHelper(_sqlSyntax);
+ var expressionHelper = new ModelToSqlExpressionHelper(_sqlSyntax, _mappingResolver);
string whereExpression = expressionHelper.Visit(predicate);
_wheres.Add(new Tuple(whereExpression, expressionHelper.GetSqlParameters()));
@@ -46,10 +50,5 @@ namespace Umbraco.Core.Persistence.Querying
return _wheres;
}
- [Obsolete("This is no longer used, use the GetWhereClauses method which includes the SQL parameters")]
- public List WhereClauses()
- {
- return _wheres.Select(x => x.Item1).ToList();
- }
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Querying/QueryFactory.cs b/src/Umbraco.Core/Persistence/Querying/QueryFactory.cs
new file mode 100644
index 0000000000..3e30bc2c6b
--- /dev/null
+++ b/src/Umbraco.Core/Persistence/Querying/QueryFactory.cs
@@ -0,0 +1,22 @@
+using Umbraco.Core.Persistence.Mappers;
+using Umbraco.Core.Persistence.SqlSyntax;
+
+namespace Umbraco.Core.Persistence.Querying
+{
+ public class QueryFactory
+ {
+ private readonly ISqlSyntaxProvider _sqlSyntax;
+ private readonly IMappingResolver _mappingResolver;
+
+ public QueryFactory(ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ {
+ _sqlSyntax = sqlSyntax;
+ _mappingResolver = mappingResolver;
+ }
+
+ public Query Create()
+ {
+ return new Query(_sqlSyntax, _mappingResolver);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs b/src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs
index 53ffda9364..5f47b0c14e 100644
--- a/src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Rdbms;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -11,8 +12,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
internal class AuditRepository : PetaPocoRepositoryBase, IAuditRepository
{
- public AuditRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public AuditRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs
index 67741c84d7..6b77c5972f 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ContentPreviewRepository.cs
@@ -4,7 +4,7 @@ using System.Xml.Linq;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Rdbms;
-
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -17,8 +17,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal class ContentPreviewRepository : PetaPocoRepositoryBase>
where TContent : IContentBase
{
- public ContentPreviewRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public ContentPreviewRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
index 6c106dd65c..38cc03262d 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
@@ -20,6 +20,7 @@ using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Persistence.Factories;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Cache;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -37,8 +38,8 @@ namespace Umbraco.Core.Persistence.Repositories
private readonly ContentPreviewRepository _contentPreviewRepository;
private readonly ContentXmlRepository _contentXmlRepository;
- public ContentRepository(IDatabaseUnitOfWork work, CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider syntaxProvider, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository)
- : base(work, cacheHelper, logger, syntaxProvider)
+ public ContentRepository(IDatabaseUnitOfWork work, CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider syntaxProvider, IContentTypeRepository contentTypeRepository, ITemplateRepository templateRepository, ITagRepository tagRepository, IMappingResolver mappingResolver)
+ : base(work, cacheHelper, logger, syntaxProvider, mappingResolver)
{
if (contentTypeRepository == null) throw new ArgumentNullException("contentTypeRepository");
if (templateRepository == null) throw new ArgumentNullException("templateRepository");
@@ -47,8 +48,8 @@ namespace Umbraco.Core.Persistence.Repositories
_templateRepository = templateRepository;
_tagRepository = tagRepository;
_cacheHelper = cacheHelper;
- _contentPreviewRepository = new ContentPreviewRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, syntaxProvider);
- _contentXmlRepository = new ContentXmlRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, syntaxProvider);
+ _contentPreviewRepository = new ContentPreviewRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, syntaxProvider, mappingResolver);
+ _contentXmlRepository = new ContentXmlRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, syntaxProvider, mappingResolver);
EnsureUniqueNaming = true;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
index bd3f12b8c6..db8a5ff839 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
@@ -12,6 +12,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.Relators;
using Umbraco.Core.Persistence.SqlSyntax;
@@ -28,8 +29,8 @@ namespace Umbraco.Core.Persistence.Repositories
where TEntity : class, IContentTypeComposition
{
- protected ContentTypeBaseRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ protected ContentTypeBaseRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
index 389469acc8..48e1687371 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.Relators;
using Umbraco.Core.Persistence.SqlSyntax;
@@ -21,8 +22,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly ITemplateRepository _templateRepository;
- public ContentTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, ITemplateRepository templateRepository)
- : base(work, cache, logger, sqlSyntax)
+ public ContentTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, ITemplateRepository templateRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_templateRepository = templateRepository;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs
index a9d5850368..e405091bd7 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ContentXmlRepository.cs
@@ -4,7 +4,7 @@ using System.Xml.Linq;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Rdbms;
-
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -17,8 +17,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal class ContentXmlRepository : PetaPocoRepositoryBase>
where TContent : IContentBase
{
- public ContentXmlRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public ContentXmlRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs b/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
index 7d0342903d..6541a1300f 100644
--- a/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
@@ -11,6 +11,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -28,12 +29,12 @@ namespace Umbraco.Core.Persistence.Repositories
private readonly DataTypePreValueRepository _preValRepository;
public DataTypeDefinitionRepository(IDatabaseUnitOfWork work, CacheHelper cache, CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider sqlSyntax,
- IContentTypeRepository contentTypeRepository)
- : base(work, cache, logger, sqlSyntax)
+ IContentTypeRepository contentTypeRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_cacheHelper = cacheHelper;
_contentTypeRepository = contentTypeRepository;
- _preValRepository = new DataTypePreValueRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax);
+ _preValRepository = new DataTypePreValueRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax, mappingResolver);
}
#region Overrides of RepositoryBase
@@ -81,7 +82,7 @@ namespace Umbraco.Core.Persistence.Repositories
public override void Delete(IDataTypeDefinition entity)
{
//Find ContentTypes using this IDataTypeDefinition on a PropertyType
- var query = new Query(SqlSyntax).Where(x => x.DataTypeDefinitionId == entity.Id);
+ var query = QueryFactory.Create().Where(x => x.DataTypeDefinitionId == entity.Id);
//TODO: Don't we need to be concerned about media and member types here too ?
var contentTypes = _contentTypeRepository.GetByQuery(query);
@@ -429,8 +430,8 @@ AND umbracoNode.id <> @id",
///
private class DataTypePreValueRepository : PetaPocoRepositoryBase
{
- public DataTypePreValueRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public DataTypePreValueRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs b/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs
index 6ec55da6be..bf1d107e3c 100644
--- a/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.Relators;
using Umbraco.Core.Persistence.SqlSyntax;
@@ -20,12 +21,14 @@ namespace Umbraco.Core.Persistence.Repositories
internal class DictionaryRepository : PetaPocoRepositoryBase, IDictionaryRepository
{
private readonly ILanguageRepository _languageRepository;
+ private readonly IMappingResolver _mappingResolver;
- public DictionaryRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider syntax, ILanguageRepository languageRepository)
- : base(work, cache, logger, syntax)
- {
- _languageRepository = languageRepository;
- }
+ public DictionaryRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider syntax, ILanguageRepository languageRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, syntax, mappingResolver)
+ {
+ _languageRepository = languageRepository;
+ _mappingResolver = mappingResolver;
+ }
#region Overrides of RepositoryBase
@@ -224,7 +227,7 @@ namespace Umbraco.Core.Persistence.Repositories
public IDictionaryItem Get(Guid uniqueId)
{
- using (var uniqueIdRepo = new DictionaryByUniqueIdRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var uniqueIdRepo = new DictionaryByUniqueIdRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
return uniqueIdRepo.Get(uniqueId);
}
@@ -232,7 +235,7 @@ namespace Umbraco.Core.Persistence.Repositories
public IDictionaryItem Get(string key)
{
- using (var keyRepo = new DictionaryByKeyRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var keyRepo = new DictionaryByKeyRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
return keyRepo.Get(key);
}
@@ -242,8 +245,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly DictionaryRepository _dictionaryRepository;
- public DictionaryByUniqueIdRepository(DictionaryRepository dictionaryRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public DictionaryByUniqueIdRepository(DictionaryRepository dictionaryRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_dictionaryRepository = dictionaryRepository;
}
@@ -283,8 +286,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly DictionaryRepository _dictionaryRepository;
- public DictionaryByKeyRepository(DictionaryRepository dictionaryRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public DictionaryByKeyRepository(DictionaryRepository dictionaryRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_dictionaryRepository = dictionaryRepository;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs b/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
index f7c3119e74..a66a65e73a 100644
--- a/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -17,12 +18,14 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly IContentRepository _contentRepository;
private readonly ILanguageRepository _languageRepository;
+ private readonly IMappingResolver _mappingResolver;
- public DomainRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IContentRepository contentRepository, ILanguageRepository languageRepository)
- : base(work, cache, logger, sqlSyntax)
+ public DomainRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IContentRepository contentRepository, ILanguageRepository languageRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_contentRepository = contentRepository;
_languageRepository = languageRepository;
+ _mappingResolver = mappingResolver;
}
///
@@ -40,7 +43,7 @@ namespace Umbraco.Core.Persistence.Repositories
protected override IDomain PerformGet(int id)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
return factory.BuildDomainEntity(repo.Get(id), _contentRepository, _languageRepository);
@@ -49,7 +52,7 @@ namespace Umbraco.Core.Persistence.Repositories
protected override IEnumerable PerformGetAll(params int[] ids)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
return factory.BuildDomainEntities(repo.GetAll(ids).ToArray(), _contentRepository, _languageRepository);
@@ -75,7 +78,7 @@ namespace Umbraco.Core.Persistence.Repositories
protected override void PersistDeletedItem(IDomain entity)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
repo.PersistDeletedItem(factory.BuildEntity(entity));
@@ -94,7 +97,7 @@ namespace Umbraco.Core.Persistence.Repositories
protected override void PersistNewItem(IDomain entity)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
var cacheableEntity = factory.BuildEntity(entity);
@@ -107,7 +110,7 @@ namespace Umbraco.Core.Persistence.Repositories
protected override void PersistUpdatedItem(IDomain entity)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
repo.PersistUpdatedItem(factory.BuildEntity(entity));
@@ -117,7 +120,7 @@ namespace Umbraco.Core.Persistence.Repositories
public bool Exists(string domainName)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var query = repo.Query.Where(x => x.DomainName.InvariantEquals(domainName));
return repo.GetByQuery(query).Any();
@@ -126,7 +129,7 @@ namespace Umbraco.Core.Persistence.Repositories
public IEnumerable GetAll(bool includeWildcards)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
return factory.BuildDomainEntities(repo.GetAll().ToArray(), _contentRepository, _languageRepository)
@@ -136,7 +139,7 @@ namespace Umbraco.Core.Persistence.Repositories
public IEnumerable GetAssignedDomains(int contentId, bool includeWildcards)
{
- using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax))
+ using (var repo = new CachedDomainRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver))
{
var factory = new DomainModelFactory();
@@ -176,8 +179,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly DomainRepository _domainRepo;
- public CachedDomainRepository(DomainRepository domainRepo, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public CachedDomainRepository(DomainRepository domainRepo, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_domainRepo = domainRepo;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs b/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs
index e25c1b8183..eba77afe86 100644
--- a/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs
@@ -10,6 +10,7 @@ using Umbraco.Core;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -27,11 +28,13 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly IDatabaseUnitOfWork _work;
private readonly ISqlSyntaxProvider _sqlSyntax;
+ private readonly QueryFactory _queryFactory;
- public EntityRepository(IDatabaseUnitOfWork work, ISqlSyntaxProvider sqlSyntax)
+ public EntityRepository(IDatabaseUnitOfWork work, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
{
_work = work;
_sqlSyntax = sqlSyntax;
+ _queryFactory = new QueryFactory(_sqlSyntax, mappingResolver);
}
///
@@ -54,7 +57,7 @@ namespace Umbraco.Core.Persistence.Repositories
public Query Query
{
- get { return new Query(_sqlSyntax); }
+ get { return _queryFactory.Create(); }
}
public IUmbracoEntity GetByKey(Guid key)
diff --git a/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs b/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
index 72f535dc9c..8ef313a143 100644
--- a/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -18,9 +19,12 @@ namespace Umbraco.Core.Persistence.Repositories
///
internal class LanguageRepository : PetaPocoRepositoryBase, ILanguageRepository
{
- public LanguageRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ private readonly IMappingResolver _mappingResolver;
+
+ public LanguageRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
+ _mappingResolver = mappingResolver;
}
#region Overrides of RepositoryBase
@@ -155,13 +159,13 @@ namespace Umbraco.Core.Persistence.Repositories
public ILanguage GetByCultureName(string cultureName)
{
- var cultureNameRepo = new LanguageByCultureNameRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax);
+ var cultureNameRepo = new LanguageByCultureNameRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver);
return cultureNameRepo.Get(cultureName);
}
public ILanguage GetByIsoCode(string isoCode)
{
- var isoRepo = new LanguageByIsoCodeRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax);
+ var isoRepo = new LanguageByIsoCodeRepository(this, UnitOfWork, RepositoryCache, Logger, SqlSyntax, _mappingResolver);
return isoRepo.Get(isoCode);
}
@@ -172,8 +176,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly LanguageRepository _languageRepository;
- public LanguageByIsoCodeRepository(LanguageRepository languageRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public LanguageByIsoCodeRepository(LanguageRepository languageRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_languageRepository = languageRepository;
}
@@ -212,8 +216,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly LanguageRepository _languageRepository;
- public LanguageByCultureNameRepository(LanguageRepository languageRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public LanguageByCultureNameRepository(LanguageRepository languageRepository, IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_languageRepository = languageRepository;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs
index 4dc7d38db9..69274032a2 100644
--- a/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/MacroRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.Relators;
using Umbraco.Core.Persistence.SqlSyntax;
@@ -17,8 +18,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal class MacroRepository : PetaPocoRepositoryBase, IMacroRepository
{
- public MacroRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public MacroRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
index f066d14962..b4c08f6e1b 100644
--- a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
@@ -15,6 +15,7 @@ using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -32,15 +33,15 @@ namespace Umbraco.Core.Persistence.Repositories
private readonly ContentXmlRepository _contentXmlRepository;
private readonly ContentPreviewRepository _contentPreviewRepository;
- public MediaRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository)
- : base(work, cache, logger, sqlSyntax)
+ public MediaRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMediaTypeRepository mediaTypeRepository, ITagRepository tagRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
if (mediaTypeRepository == null) throw new ArgumentNullException("mediaTypeRepository");
if (tagRepository == null) throw new ArgumentNullException("tagRepository");
_mediaTypeRepository = mediaTypeRepository;
_tagRepository = tagRepository;
- _contentXmlRepository = new ContentXmlRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax);
- _contentPreviewRepository = new ContentPreviewRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax);
+ _contentXmlRepository = new ContentXmlRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax, mappingResolver);
+ _contentPreviewRepository = new ContentPreviewRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax, mappingResolver);
EnsureUniqueNaming = true;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
index 58ef094f97..731caff1c0 100644
--- a/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -19,8 +20,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal class MediaTypeRepository : ContentTypeBaseRepository, IMediaTypeRepository
{
- public MediaTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public MediaTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
index abadded175..24bac43434 100644
--- a/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
@@ -13,6 +13,7 @@ using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Services;
using Umbraco.Core.Cache;
+using Umbraco.Core.Persistence.Mappers;
namespace Umbraco.Core.Persistence.Repositories
{
@@ -22,8 +23,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly CacheHelper _cacheHelper;
- public MemberGroupRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, CacheHelper cacheHelper)
- : base(work, cache, logger, sqlSyntax)
+ public MemberGroupRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, CacheHelper cacheHelper, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
if (cacheHelper == null) throw new ArgumentNullException("cacheHelper");
_cacheHelper = cacheHelper;
@@ -139,7 +140,7 @@ namespace Umbraco.Core.Persistence.Repositories
string.Format("{0}.{1}", typeof (IMemberGroup).FullName, name),
() =>
{
- var qry = new Query(SqlSyntax).Where(group => group.Name.Equals(name));
+ var qry = QueryFactory.Create().Where(group => group.Name.Equals(name));
var result = GetByQuery(qry);
return result.FirstOrDefault();
},
@@ -153,7 +154,7 @@ namespace Umbraco.Core.Persistence.Repositories
{
using (var transaction = Database.GetTransaction())
{
- var qry = new Query(SqlSyntax).Where(group => group.Name.Equals(roleName));
+ var qry = QueryFactory.Create().Where(group => group.Name.Equals(roleName));
var result = GetByQuery(qry);
if (result.Any()) return null;
diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
index 1f03ed5bde..3602811c40 100644
--- a/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
@@ -19,6 +19,7 @@ using Umbraco.Core.Persistence.Relators;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Dynamics;
+using Umbraco.Core.Persistence.Mappers;
namespace Umbraco.Core.Persistence.Repositories
{
@@ -33,16 +34,16 @@ namespace Umbraco.Core.Persistence.Repositories
private readonly ContentXmlRepository _contentXmlRepository;
private readonly ContentPreviewRepository _contentPreviewRepository;
- public MemberRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMemberTypeRepository memberTypeRepository, IMemberGroupRepository memberGroupRepository, ITagRepository tagRepository)
- : base(work, cache, logger, sqlSyntax)
+ public MemberRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMemberTypeRepository memberTypeRepository, IMemberGroupRepository memberGroupRepository, ITagRepository tagRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
if (memberTypeRepository == null) throw new ArgumentNullException("memberTypeRepository");
if (tagRepository == null) throw new ArgumentNullException("tagRepository");
_memberTypeRepository = memberTypeRepository;
_tagRepository = tagRepository;
_memberGroupRepository = memberGroupRepository;
- _contentXmlRepository = new ContentXmlRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax);
- _contentPreviewRepository = new ContentPreviewRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax);
+ _contentXmlRepository = new ContentXmlRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax, mappingResolver);
+ _contentPreviewRepository = new ContentPreviewRepository(work, CacheHelper.CreateDisabledCacheHelper(), logger, sqlSyntax, mappingResolver);
}
#region Overrides of RepositoryBase
@@ -531,12 +532,12 @@ namespace Umbraco.Core.Persistence.Repositories
public IEnumerable FindMembersInRole(string roleName, string usernameToMatch, StringPropertyMatchType matchType = StringPropertyMatchType.StartsWith)
{
//get the group id
- var grpQry = new Query(SqlSyntax).Where(group => group.Name.Equals(roleName));
+ var grpQry = QueryFactory.Create().Where(group => group.Name.Equals(roleName));
var memberGroup = _memberGroupRepository.GetByQuery(grpQry).FirstOrDefault();
if (memberGroup == null) return Enumerable.Empty();
// get the members by username
- var query = new Query(SqlSyntax);
+ var query = QueryFactory.Create();
switch (matchType)
{
case StringPropertyMatchType.Exact:
@@ -586,7 +587,7 @@ namespace Umbraco.Core.Persistence.Repositories
///
public IEnumerable GetByMemberGroup(string groupName)
{
- var grpQry = new Query(SqlSyntax).Where(group => group.Name.Equals(groupName));
+ var grpQry = QueryFactory.Create().Where(group => group.Name.Equals(groupName));
var memberGroup = _memberGroupRepository.GetByQuery(grpQry).FirstOrDefault();
if (memberGroup == null) return Enumerable.Empty();
diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
index 9a1317affe..d380786ffe 100644
--- a/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
@@ -8,6 +8,7 @@ using Umbraco.Core.Models;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.Relators;
using Umbraco.Core.Persistence.SqlSyntax;
@@ -21,8 +22,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal class MemberTypeRepository : ContentTypeBaseRepository, IMemberTypeRepository
{
- public MemberTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public MemberTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs
index aa442d8eaf..0cd21d3739 100644
--- a/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/PetaPocoRepositoryBase.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.EntityBase;
-
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -19,20 +19,26 @@ namespace Umbraco.Core.Persistence.Repositories
{
public ISqlSyntaxProvider SqlSyntax { get; private set; }
+ ///
+ /// Returns the Query factory
+ ///
+ public QueryFactory QueryFactory { get; private set; }
+
///
/// Used to create a new query instance
///
///
public override Query Query
{
- get { return new Query(SqlSyntax); }
+ get { return QueryFactory.Create(); }
}
- protected PetaPocoRepositoryBase(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
+ protected PetaPocoRepositoryBase(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
: base(work, cache, logger)
{
if (sqlSyntax == null) throw new ArgumentNullException("sqlSyntax");
SqlSyntax = sqlSyntax;
+ QueryFactory = new QueryFactory(SqlSyntax, mappingResolver);
}
///
diff --git a/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs b/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
index 970fee39a7..470d555da6 100644
--- a/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
@@ -7,7 +7,7 @@ using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
-
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -17,8 +17,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal abstract class RecycleBinRepository : VersionableRepositoryBase, IRecycleBinRepository
where TEntity : class, IUmbracoEntity
{
- protected RecycleBinRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ protected RecycleBinRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs b/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs
index 5140b7323a..b6c312e4da 100644
--- a/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/RelationRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -20,8 +21,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
private readonly IRelationTypeRepository _relationTypeRepository;
- public RelationRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IRelationTypeRepository relationTypeRepository)
- : base(work, cache, logger, sqlSyntax)
+ public RelationRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IRelationTypeRepository relationTypeRepository, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_relationTypeRepository = relationTypeRepository;
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs
index 276ec64d84..b3ce9fa14d 100644
--- a/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/RelationTypeRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -19,8 +20,8 @@ namespace Umbraco.Core.Persistence.Repositories
internal class RelationTypeRepository : PetaPocoRepositoryBase, IRelationTypeRepository
{
- public RelationTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public RelationTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs
index bd6a463739..e65a89061d 100644
--- a/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -15,8 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
internal class ServerRegistrationRepository : PetaPocoRepositoryBase
{
- public ServerRegistrationRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public ServerRegistrationRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/SimpleGetRepository.cs b/src/Umbraco.Core/Persistence/Repositories/SimpleGetRepository.cs
index a88672ea6f..2f0a2321d6 100644
--- a/src/Umbraco.Core/Persistence/Repositories/SimpleGetRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/SimpleGetRepository.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.EntityBase;
-
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -18,8 +18,8 @@ namespace Umbraco.Core.Persistence.Repositories
where TDto: class
{
- protected SimpleGetRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ protected SimpleGetRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs
index d44aa41f60..fe27310a28 100644
--- a/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/TagRepository.cs
@@ -8,6 +8,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -16,8 +17,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
internal class TagRepository : PetaPocoRepositoryBase, ITagRepository
{
- internal TagRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ internal TagRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/TaskRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TaskRepository.cs
index b3be250ebc..c2793dcc1b 100644
--- a/src/Umbraco.Core/Persistence/Repositories/TaskRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/TaskRepository.cs
@@ -7,6 +7,7 @@ using Umbraco.Core.Models;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -15,8 +16,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
internal class TaskRepository : PetaPocoRepositoryBase, ITaskRepository
{
- public TaskRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public TaskRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/TaskTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TaskTypeRepository.cs
index 564e949172..aef8debd1f 100644
--- a/src/Umbraco.Core/Persistence/Repositories/TaskTypeRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/TaskTypeRepository.cs
@@ -5,6 +5,7 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -13,8 +14,8 @@ namespace Umbraco.Core.Persistence.Repositories
{
internal class TaskTypeRepository : PetaPocoRepositoryBase, ITaskTypeRepository
{
- public TaskTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public TaskTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
index dab82bc154..ee794d217c 100644
--- a/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
@@ -13,6 +13,7 @@ using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -33,8 +34,8 @@ namespace Umbraco.Core.Persistence.Repositories
private readonly ViewHelper _viewHelper;
private readonly MasterPageHelper _masterPageHelper;
- internal TemplateRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IFileSystem masterpageFileSystem, IFileSystem viewFileSystem, ITemplatesSection templateConfig)
- : base(work, cache, logger, sqlSyntax)
+ internal TemplateRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IFileSystem masterpageFileSystem, IFileSystem viewFileSystem, ITemplatesSection templateConfig, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
_masterpagesFileSystem = masterpageFileSystem;
_viewsFileSystem = viewFileSystem;
diff --git a/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs b/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
index d8ff2aeee2..32d8cfd019 100644
--- a/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
@@ -26,8 +26,8 @@ namespace Umbraco.Core.Persistence.Repositories
private readonly IUserTypeRepository _userTypeRepository;
private readonly CacheHelper _cacheHelper;
- public UserRepository(IDatabaseUnitOfWork work, CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider sqlSyntax, IUserTypeRepository userTypeRepository)
- : base(work, cacheHelper, logger, sqlSyntax)
+ public UserRepository(IDatabaseUnitOfWork work, CacheHelper cacheHelper, ILogger logger, ISqlSyntaxProvider sqlSyntax, IUserTypeRepository userTypeRepository, IMappingResolver mappingResolver)
+ : base(work, cacheHelper, logger, sqlSyntax, mappingResolver)
{
_userTypeRepository = userTypeRepository;
_cacheHelper = cacheHelper;
diff --git a/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs
index 0adebb288c..df3ab9f669 100644
--- a/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs
@@ -6,6 +6,7 @@ using Umbraco.Core.Models.Membership;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.Factories;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -17,8 +18,8 @@ namespace Umbraco.Core.Persistence.Repositories
///
internal class UserTypeRepository : PetaPocoRepositoryBase, IUserTypeRepository
{
- public UserTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ public UserTypeRepository(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
index 1fd4af1c8e..e6cb36e1f1 100644
--- a/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
@@ -17,6 +17,7 @@ using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
using Umbraco.Core.Dynamics;
+using Umbraco.Core.Persistence.Mappers;
namespace Umbraco.Core.Persistence.Repositories
{
@@ -24,8 +25,8 @@ namespace Umbraco.Core.Persistence.Repositories
where TEntity : class, IAggregateRoot
{
- protected VersionableRepositoryBase(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax)
- : base(work, cache, logger, sqlSyntax)
+ protected VersionableRepositoryBase(IDatabaseUnitOfWork work, CacheHelper cache, ILogger logger, ISqlSyntaxProvider sqlSyntax, IMappingResolver mappingResolver)
+ : base(work, cache, logger, sqlSyntax, mappingResolver)
{
}
diff --git a/src/Umbraco.Core/Persistence/RepositoryFactory.cs b/src/Umbraco.Core/Persistence/RepositoryFactory.cs
index 7c9e69850d..5455b24900 100644
--- a/src/Umbraco.Core/Persistence/RepositoryFactory.cs
+++ b/src/Umbraco.Core/Persistence/RepositoryFactory.cs
@@ -2,8 +2,9 @@ using Umbraco.Core.Configuration;
using System;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
+using Umbraco.Core.LightInject;
using Umbraco.Core.Logging;
-
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
@@ -19,20 +20,23 @@ 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 (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;
}
#endregion
@@ -46,19 +50,19 @@ namespace Umbraco.Core.Persistence
{
return new TaskRepository(uow,
CacheHelper.CreateDisabledCacheHelper(), //never cache
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax, _mappingResolver);
}
public virtual IAuditRepository CreateAuditRepository(IDatabaseUnitOfWork uow)
{
- return new AuditRepository(uow, _cacheHelper, _logger, _sqlSyntax);
+ return new AuditRepository(uow, _cacheHelper, _logger, _sqlSyntax, _mappingResolver);
}
public virtual ITagRepository CreateTagRepository(IDatabaseUnitOfWork uow)
{
return new TagRepository(
uow,
- _cacheHelper, _logger, _sqlSyntax);
+ _cacheHelper, _logger, _sqlSyntax, _mappingResolver);
}
public virtual IContentRepository CreateContentRepository(IDatabaseUnitOfWork uow)
@@ -70,7 +74,8 @@ namespace Umbraco.Core.Persistence
_sqlSyntax,
CreateContentTypeRepository(uow),
CreateTemplateRepository(uow),
- CreateTagRepository(uow))
+ CreateTagRepository(uow),
+ _mappingResolver)
{
EnsureUniqueNaming = _settings.Content.EnsureUniqueNaming
};
@@ -82,7 +87,8 @@ namespace Umbraco.Core.Persistence
uow,
_cacheHelper,
_logger, _sqlSyntax,
- CreateTemplateRepository(uow));
+ CreateTemplateRepository(uow),
+ _mappingResolver);
}
public virtual IDataTypeDefinitionRepository CreateDataTypeDefinitionRepository(IDatabaseUnitOfWork uow)
@@ -92,7 +98,8 @@ namespace Umbraco.Core.Persistence
_cacheHelper,
_cacheHelper,
_logger, _sqlSyntax,
- CreateContentTypeRepository(uow));
+ CreateContentTypeRepository(uow),
+ _mappingResolver);
}
public virtual IDictionaryRepository CreateDictionaryRepository(IDatabaseUnitOfWork uow)
@@ -102,7 +109,8 @@ namespace Umbraco.Core.Persistence
_cacheHelper,
_logger,
_sqlSyntax,
- CreateLanguageRepository(uow));
+ CreateLanguageRepository(uow),
+ _mappingResolver);
}
public virtual ILanguageRepository CreateLanguageRepository(IDatabaseUnitOfWork uow)
@@ -110,7 +118,8 @@ namespace Umbraco.Core.Persistence
return new LanguageRepository(
uow,
_cacheHelper,
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax,
+ _mappingResolver);
}
public virtual IMediaRepository CreateMediaRepository(IDatabaseUnitOfWork uow)
@@ -120,7 +129,8 @@ namespace Umbraco.Core.Persistence
_cacheHelper,
_logger, _sqlSyntax,
CreateMediaTypeRepository(uow),
- CreateTagRepository(uow)) { EnsureUniqueNaming = _settings.Content.EnsureUniqueNaming };
+ CreateTagRepository(uow),
+ _mappingResolver) { EnsureUniqueNaming = _settings.Content.EnsureUniqueNaming };
}
public virtual IMediaTypeRepository CreateMediaTypeRepository(IDatabaseUnitOfWork uow)
@@ -128,7 +138,8 @@ namespace Umbraco.Core.Persistence
return new MediaTypeRepository(
uow,
_cacheHelper,
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax,
+ _mappingResolver);
}
public virtual IRelationRepository CreateRelationRepository(IDatabaseUnitOfWork uow)
@@ -137,7 +148,8 @@ namespace Umbraco.Core.Persistence
uow,
CacheHelper.CreateDisabledCacheHelper(), //never cache
_logger, _sqlSyntax,
- CreateRelationTypeRepository(uow));
+ CreateRelationTypeRepository(uow),
+ _mappingResolver);
}
public virtual IRelationTypeRepository CreateRelationTypeRepository(IDatabaseUnitOfWork uow)
@@ -145,7 +157,8 @@ namespace Umbraco.Core.Persistence
return new RelationTypeRepository(
uow,
CacheHelper.CreateDisabledCacheHelper(), //never cache
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax,
+ _mappingResolver);
}
public virtual IScriptRepository CreateScriptRepository(IUnitOfWork uow)
@@ -175,7 +188,8 @@ namespace Umbraco.Core.Persistence
_logger, _sqlSyntax,
new PhysicalFileSystem(SystemDirectories.Masterpages),
new PhysicalFileSystem(SystemDirectories.MvcViews),
- _settings.Templates);
+ _settings.Templates,
+ _mappingResolver);
}
internal virtual ServerRegistrationRepository CreateServerRegistrationRepository(IDatabaseUnitOfWork uow)
@@ -183,7 +197,8 @@ namespace Umbraco.Core.Persistence
return new ServerRegistrationRepository(
uow,
CacheHelper.CreateDisabledCacheHelper(), //never cache
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax,
+ _mappingResolver);
}
public virtual IUserTypeRepository CreateUserTypeRepository(IDatabaseUnitOfWork uow)
@@ -192,7 +207,8 @@ 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)
@@ -202,14 +218,16 @@ 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)
@@ -220,14 +238,16 @@ namespace Umbraco.Core.Persistence
_logger, _sqlSyntax,
CreateMemberTypeRepository(uow),
CreateMemberGroupRepository(uow),
- CreateTagRepository(uow));
+ CreateTagRepository(uow),
+ _mappingResolver);
}
public virtual IMemberTypeRepository CreateMemberTypeRepository(IDatabaseUnitOfWork uow)
{
return new MemberTypeRepository(uow,
_cacheHelper,
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax,
+ _mappingResolver);
}
public virtual IMemberGroupRepository CreateMemberGroupRepository(IDatabaseUnitOfWork uow)
@@ -235,24 +255,26 @@ namespace Umbraco.Core.Persistence
return new MemberGroupRepository(uow,
_cacheHelper,
_logger, _sqlSyntax,
- _cacheHelper);
+ _cacheHelper,
+ _mappingResolver);
}
public virtual IEntityRepository CreateEntityRepository(IDatabaseUnitOfWork uow)
{
- return new EntityRepository(uow, _sqlSyntax);
+ return new EntityRepository(uow, _sqlSyntax, _mappingResolver);
}
public IDomainRepository CreateDomainRepository(IDatabaseUnitOfWork uow)
{
- return new DomainRepository(uow, _cacheHelper, _logger, _sqlSyntax, CreateContentRepository(uow), CreateLanguageRepository(uow));
+ return new DomainRepository(uow, _cacheHelper, _logger, _sqlSyntax, CreateContentRepository(uow), CreateLanguageRepository(uow), _mappingResolver);
}
public ITaskTypeRepository CreateTaskTypeRepository(IDatabaseUnitOfWork uow)
{
return new TaskTypeRepository(uow,
CacheHelper.CreateDisabledCacheHelper(), //never cache
- _logger, _sqlSyntax);
+ _logger, _sqlSyntax,
+ _mappingResolver);
}
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Standalone/ServiceContextManager.cs b/src/Umbraco.Core/Standalone/ServiceContextManager.cs
deleted file mode 100644
index 084c92cc13..0000000000
--- a/src/Umbraco.Core/Standalone/ServiceContextManager.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-using System;
-using System.Diagnostics;
-using Umbraco.Core.Cache;
-using Umbraco.Core.Configuration;
-using Umbraco.Core.Logging;
-using Umbraco.Core.Persistence;
-using Umbraco.Core.Persistence.Mappers;
-using Umbraco.Core.Persistence.SqlSyntax;
-using Umbraco.Core.Persistence.UnitOfWork;
-using Umbraco.Core.Publishing;
-using Umbraco.Core.Services;
-using Umbraco.Core.Strings;
-
-namespace Umbraco.Core.Standalone
-{
- internal class ServiceContextManager : IDisposable
- {
- private readonly string _connectionString;
- private readonly string _providerName;
- private readonly ILogger _logger;
- private readonly ISqlSyntaxProvider _syntaxProvider;
- private ServiceContext _serviceContext;
- private readonly StandaloneCoreApplication _application;
-
- public ServiceContextManager(string connectionString, string providerName, string baseDirectory, ILogger logger, ISqlSyntaxProvider syntaxProvider)
- {
- _connectionString = connectionString;
- _providerName = providerName;
- _logger = logger;
- _syntaxProvider = syntaxProvider;
-
- Trace.WriteLine("ServiceContextManager-Current AppDomain: " + AppDomain.CurrentDomain.FriendlyName);
- Trace.WriteLine("ServiceContextManager-Current AppDomain: " + AppDomain.CurrentDomain.BaseDirectory);
-
- //var webAssembly = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(x => x.FullName.StartsWith("umbraco"));
- //if (webAssembly != null && examineEventHandlerToRemove == null)
- //{
- // var examineEventType = webAssembly.GetType("Umbraco.Web.Search.ExamineEvents");
- // examineEventHandlerToRemove = examineEventType;
- //}
-
- _application = StandaloneCoreApplication.GetApplication(baseDirectory);
-
- var examineEventHandlerToRemove = Type.GetType("Umbraco.Web.Search.ExamineEvents, umbraco");
- if (examineEventHandlerToRemove != null)
- _application.WithoutApplicationEventHandler(examineEventHandlerToRemove);
-
- _application.Start();
- }
-
- public ServiceContext Services
- {
- get
- {
- if (_serviceContext == null)
- {
- var cacheHelper = new CacheHelper(
- new ObjectCacheRuntimeCacheProvider(),
- new StaticCacheProvider(),
- //we have no request based cache when running standalone
- new NullCacheProvider());
-
- var dbFactory = new DefaultDatabaseFactory(_connectionString, _providerName, _logger);
- var dbContext = new DatabaseContext(dbFactory, _logger, _syntaxProvider, _providerName);
- Database.Mapper = new PetaPocoMapper();
- _serviceContext = new ServiceContext(
- new RepositoryFactory(cacheHelper, _logger, dbContext.SqlSyntax, UmbracoConfig.For.UmbracoSettings()),
- new PetaPocoUnitOfWorkProvider(dbFactory),
- new FileUnitOfWorkProvider(),
- new PublishingStrategy(),
- cacheHelper,
- new DebugDiagnosticsLogger(),
- UrlSegmentProviderResolver.Current.Providers);
-
- //initialize the DatabaseContext
- dbContext.Initialize(_providerName);
- }
-
- return _serviceContext;
- }
- }
-
- public void Dispose()
- {
- ((IDisposable)ApplicationContext.Current).Dispose();
- _application.Dispose();
- }
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Standalone/StandaloneCoreApplication.cs b/src/Umbraco.Core/Standalone/StandaloneCoreApplication.cs
deleted file mode 100644
index c22a648478..0000000000
--- a/src/Umbraco.Core/Standalone/StandaloneCoreApplication.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Umbraco.Core.Standalone
-{
- internal class StandaloneCoreApplication : UmbracoApplicationBase
- {
- ///
- /// Initializes a new instance of the class.
- ///
- protected StandaloneCoreApplication(string baseDirectory)
- {
- _baseDirectory = baseDirectory;
- }
-
- ///
- /// Provides the application boot manager.
- ///
- /// An application boot manager.
- protected override IBootManager GetBootManager()
- {
- return new StandaloneCoreBootManager(this, _handlersToAdd, _handlersToRemove, _baseDirectory);
- }
-
- #region Application
-
- private readonly string _baseDirectory;
- private static StandaloneCoreApplication _application;
- private static bool _started;
- private static readonly object AppLock = new object();
-
- ///
- /// Gets the instance of the standalone Umbraco application.
- ///
- public static StandaloneCoreApplication GetApplication(string baseDirectory)
- {
- lock (AppLock)
- {
- return _application ?? (_application = new StandaloneCoreApplication(baseDirectory));
- }
- }
-
- ///
- /// Starts the application.
- ///
- public void Start()
- {
- lock (AppLock)
- {
- if (_started)
- throw new InvalidOperationException("Application has already started.");
- Application_Start(this, EventArgs.Empty);
- _started = true;
- }
- }
-
- #endregion
-
- #region IApplicationEventHandler management
-
- private readonly List _handlersToAdd = new List();
- private readonly List _handlersToRemove = new List();
-
- ///
- /// Associates an type with the application.
- ///
- /// The type to associate.
- /// The application.
- /// Types implementing from within
- /// an executable are not automatically discovered by Umbraco and have to be
- /// explicitely associated with the application using this method.
- public StandaloneCoreApplication WithApplicationEventHandler()
- where T : IApplicationEventHandler
- {
- _handlersToAdd.Add(typeof(T));
- return this;
- }
-
- ///
- /// Dissociates an type from the application.
- ///
- /// The type to dissociate.
- /// The application.
- public StandaloneCoreApplication WithoutApplicationEventHandler()
- where T : IApplicationEventHandler
- {
- _handlersToRemove.Add(typeof(T));
- return this;
- }
-
- ///
- /// Associates an type with the application.
- ///
- /// The type to associate.
- /// The application.
- /// Types implementing from within
- /// an executable are not automatically discovered by Umbraco and have to be
- /// explicitely associated with the application using this method.
- public StandaloneCoreApplication WithApplicationEventHandler(Type type)
- {
- if (type.Implements() == false)
- throw new ArgumentException("Type does not implement IApplicationEventHandler.", "type");
- _handlersToAdd.Add(type);
- return this;
- }
-
- ///
- /// Dissociates an type from the application.
- ///
- /// The type to dissociate.
- /// The application.
- public StandaloneCoreApplication WithoutApplicationEventHandler(Type type)
- {
- if (type.Implements() == false)
- throw new ArgumentException("Type does not implement IApplicationEventHandler.", "type");
- _handlersToRemove.Add(type);
- return this;
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Standalone/StandaloneCoreBootManager.cs b/src/Umbraco.Core/Standalone/StandaloneCoreBootManager.cs
deleted file mode 100644
index 5a95a4476c..0000000000
--- a/src/Umbraco.Core/Standalone/StandaloneCoreBootManager.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Umbraco.Core.ObjectResolution;
-using Umbraco.Core.Persistence.Mappers;
-using umbraco.interfaces;
-
-namespace Umbraco.Core.Standalone
-{
- internal class StandaloneCoreBootManager : CoreBootManager
- {
- private readonly IEnumerable _handlersToAdd;
- private readonly IEnumerable _handlersToRemove;
- private readonly string _baseDirectory;
-
- public StandaloneCoreBootManager(UmbracoApplicationBase umbracoApplication, IEnumerable handlersToAdd, IEnumerable handlersToRemove, string baseDirectory)
- : base(umbracoApplication)
- {
- _handlersToAdd = handlersToAdd;
- _handlersToRemove = handlersToRemove;
- _baseDirectory = baseDirectory;
-
- base.InitializeApplicationRootPath(_baseDirectory);
-
- }
-
- //protected override void InitializeApplicationEventsResolver()
- //{
- // base.InitializeApplicationEventsResolver();
-
- // foreach (var type in _handlersToAdd)
- // ApplicationEventsResolver.Current.AddType(type);
-
- // foreach (var type in _handlersToRemove)
- // ApplicationEventsResolver.Current.RemoveType(type);
- //}
-
- protected override void InitializeResolvers()
- {
- base.InitializeResolvers();
-
- //Mappers are not resolved, which could be because of a known TypeMapper issue
- /*MappingResolver.Reset();
- MappingResolver.Current = new MappingResolver(
- () =>
- new List
- {
- typeof (ContentMapper),
- typeof (ContentTypeMapper),
- typeof (MediaMapper),
- typeof (MediaTypeMapper),
- typeof (DataTypeDefinitionMapper),
- typeof (UmbracoEntityMapper)
- });*/
- }
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index 2e7f6dc176..a1c3a5063d 100644
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -315,9 +315,11 @@
+
+
@@ -1133,9 +1135,6 @@
-
-
-
diff --git a/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs b/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs
index 8264b40b55..dfff7b319d 100644
--- a/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs
+++ b/src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs
@@ -10,6 +10,7 @@ using Umbraco.Core.Logging;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.ObjectResolution;
using Umbraco.Core.Persistence;
+using Umbraco.Core.Persistence.Mappers;
using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Profiling;
@@ -54,7 +55,7 @@ namespace Umbraco.Tests.Persistence
new DefaultDatabaseFactory(GlobalSettings.UmbracoConnectionName, _logger),
_logger, SqlSyntaxProvider, "System.Data.SqlServerCe.4.0");
- var repositoryFactory = new RepositoryFactory(cacheHelper, _logger, SqlSyntaxProvider, SettingsForTests.GenerateMockSettings());
+ var repositoryFactory = new RepositoryFactory(cacheHelper, _logger, SqlSyntaxProvider, SettingsForTests.GenerateMockSettings(), Mock.Of());
ApplicationContext.Current = new ApplicationContext(
//assign the db context
diff --git a/src/Umbraco.Tests/Persistence/Mappers/MappingResolverTests.cs b/src/Umbraco.Tests/Persistence/Mappers/MappingResolverTests.cs
deleted file mode 100644
index b15da5ec1d..0000000000
--- a/src/Umbraco.Tests/Persistence/Mappers/MappingResolverTests.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using NUnit.Framework;
-using Umbraco.Core;
-using Umbraco.Core.Models;
-using Umbraco.Core.ObjectResolution;
-using Umbraco.Core.Persistence.Mappers;
-using Umbraco.Tests.TestHelpers;
-
-namespace Umbraco.Tests.Persistence.Mappers
-{
- [TestFixture]
- public class MappingResolverTests : BaseUsingSqlCeSyntax
- {
- public override void Initialize()
- {
- base.Initialize();
- }
-
- public override void TearDown()
- {
- base.TearDown();
- }
-
-
- [Test]
- public void Can_Map_Id_Property_On_Content()
- {
- var mapping = MappingResolver.Current.GetMapping(typeof (Content), "Id");
-
- Assert.That(mapping, Is.EqualTo("[umbracoNode].[id]"));
- }
-
- [Test]
- public void Can_Map_Alias_Property_On_ContentType()
- {
- var mapping = MappingResolver.Current.GetMapping(typeof(ContentType), "Alias");
-
- Assert.That(mapping, Is.EqualTo("[cmsContentType].[alias]"));
- }
-
- [Test]
- public void Can_Resolve_ContentType_Mapper()
- {
- var mapper = MappingResolver.Current.ResolveMapperByType(typeof(ContentType));
-
- Assert.IsTrue(mapper is ContentTypeMapper);
- }
- [Test]
- public void Can_Resolve_Dictionary_Mapper()
- {
- var mapper = MappingResolver.Current.ResolveMapperByType(typeof(IDictionaryItem));
-
- Assert.IsTrue(mapper is DictionaryMapper);
- }
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Tests/Persistence/Querying/ExpressionTests.cs b/src/Umbraco.Tests/Persistence/Querying/ExpressionTests.cs
index 437c2c6704..e5aa0a6903 100644
--- a/src/Umbraco.Tests/Persistence/Querying/ExpressionTests.cs
+++ b/src/Umbraco.Tests/Persistence/Querying/ExpressionTests.cs
@@ -34,7 +34,7 @@ namespace Umbraco.Tests.Persistence.Querying
{
//Arrange
Expression> predicate = content => content.Path.StartsWith("-1");
- var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax);
+ var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax, MappingResolver);
var result = modelToSqlExpressionHelper.Visit(predicate);
Console.WriteLine("Model to Sql ExpressionHelper: \n" + result);
@@ -48,7 +48,7 @@ namespace Umbraco.Tests.Persistence.Querying
{
//Arrange
Expression> predicate = content => content.ParentId == -1;
- var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax);
+ var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax, MappingResolver);
var result = modelToSqlExpressionHelper.Visit(predicate);
Console.WriteLine("Model to Sql ExpressionHelper: \n" + result);
@@ -61,7 +61,7 @@ namespace Umbraco.Tests.Persistence.Querying
public void Equals_Operator_For_Value_Gets_Escaped()
{
Expression> predicate = user => user.Username == "hello@world.com";
- var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax);
+ var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax, MappingResolver);
var result = modelToSqlExpressionHelper.Visit(predicate);
Console.WriteLine("Model to Sql ExpressionHelper: \n" + result);
@@ -74,7 +74,7 @@ namespace Umbraco.Tests.Persistence.Querying
public void Equals_Method_For_Value_Gets_Escaped()
{
Expression> predicate = user => user.Username.Equals("hello@world.com");
- var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax);
+ var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(SqlSyntax, MappingResolver);
var result = modelToSqlExpressionHelper.Visit(predicate);
Console.WriteLine("Model to Sql ExpressionHelper: \n" + result);
@@ -89,7 +89,7 @@ namespace Umbraco.Tests.Persistence.Querying
//mysql escapes backslashes, so we'll test with that
Expression> predicate = user => user.Username.Equals("mydomain\\myuser");
- var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(new MySqlSyntaxProvider(Mock.Of()));
+ var modelToSqlExpressionHelper = new ModelToSqlExpressionHelper(new MySqlSyntaxProvider(Mock.Of()), MappingResolver);
var result = modelToSqlExpressionHelper.Visit(predicate);
Console.WriteLine("Model to Sql ExpressionHelper: \n" + result);
diff --git a/src/Umbraco.Tests/Persistence/Querying/QueryBuilderTests.cs b/src/Umbraco.Tests/Persistence/Querying/QueryBuilderTests.cs
index aacc28d1b3..a4778fd47d 100644
--- a/src/Umbraco.Tests/Persistence/Querying/QueryBuilderTests.cs
+++ b/src/Umbraco.Tests/Persistence/Querying/QueryBuilderTests.cs
@@ -22,7 +22,7 @@ namespace Umbraco.Tests.Persistence.Querying
sql.Select("*");
sql.From("umbracoNode");
- var query = new Query(SqlSyntax).Where(x => x.Path.StartsWith("-1"));
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Path.StartsWith("-1"));
// Act
var translator = new SqlTranslator(sql, query);
@@ -49,7 +49,7 @@ namespace Umbraco.Tests.Persistence.Querying
sql.Select("*");
sql.From("umbracoNode");
- var query = new Query(SqlSyntax).Where(x => x.ParentId == -1);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.ParentId == -1);
// Act
var translator = new SqlTranslator(sql, query);
@@ -76,7 +76,7 @@ namespace Umbraco.Tests.Persistence.Querying
sql.Select("*");
sql.From("umbracoNode");
- var query = new Query(SqlSyntax).Where(x => x.Alias == "umbTextpage");
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Alias == "umbTextpage");
// Act
var translator = new SqlTranslator(sql, query);
@@ -113,7 +113,7 @@ namespace Umbraco.Tests.Persistence.Querying
.On(SqlSyntax, left => left.NodeId, right => right.NodeId)
.Where(SqlSyntax, x => x.NodeObjectType == nodeObjectTypeId);
- var query = new Query(SqlSyntax).Where(x => x.Path.StartsWith(path) && x.Id != id && x.Published == true && x.Trashed == false);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Path.StartsWith(path) && x.Id != id && x.Published == true && x.Trashed == false);
// Act
var translator = new SqlTranslator(sql, query);
diff --git a/src/Umbraco.Tests/Persistence/Repositories/AuditRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/AuditRepositoryTest.cs
index 3bf20c005c..29c2960cf8 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/AuditRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/AuditRepositoryTest.cs
@@ -17,7 +17,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repo = new AuditRepository(unitOfWork, CacheHelper, Logger, SqlSyntax))
+ using (var repo = new AuditRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
{
repo.AddOrUpdate(new AuditItem(-1, "This is a System audit trail", AuditType.System, 0));
unitOfWork.Commit();
diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
index 04b54f2898..5a670a48ba 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
@@ -41,10 +41,10 @@ namespace Umbraco.Tests.Persistence.Repositories
private ContentRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
{
- var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of());
- var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax);
- contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, templateRepository);
- var repository = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, contentTypeRepository, templateRepository, tagRepository);
+ var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver);
+ var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, MappingResolver);
+ contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, templateRepository, MappingResolver);
+ var repository = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, contentTypeRepository, templateRepository, tagRepository, MappingResolver);
return repository;
}
@@ -394,7 +394,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
var result = repository.GetByQuery(query);
// Assert
@@ -443,7 +443,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
int totalRecords;
var result = repository.GetPagedResultsByQuery(query, 0, 1, out totalRecords, "Name", Direction.Ascending);
@@ -464,7 +464,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
int totalRecords;
var result = repository.GetPagedResultsByQuery(query, 1, 1, out totalRecords, "Name", Direction.Ascending);
@@ -485,7 +485,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
int totalRecords;
var result = repository.GetPagedResultsByQuery(query, 0, 2, out totalRecords, "Name", Direction.Ascending);
@@ -506,7 +506,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
int totalRecords;
var result = repository.GetPagedResultsByQuery(query, 0, 1, out totalRecords, "Name", Direction.Descending);
@@ -527,7 +527,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
int totalRecords;
var result = repository.GetPagedResultsByQuery(query, 0, 1, out totalRecords, "Name", Direction.Ascending, "Page 2");
@@ -548,7 +548,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Level == 2);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == 2);
int totalRecords;
var result = repository.GetPagedResultsByQuery(query, 0, 1, out totalRecords, "Name", Direction.Ascending, "Page");
@@ -629,7 +629,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
int level = 2;
- var query = new Query(SqlSyntax).Where(x => x.Level == level);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Level == level);
var result = repository.Count(query);
// Assert
@@ -668,7 +668,7 @@ namespace Umbraco.Tests.Persistence.Repositories
using (var repository = CreateRepository(unitOfWork, out contentTypeRepository))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Key == new Guid("B58B3AD4-62C2-4E27-B1BE-837BD7C533E0"));
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Key == new Guid("B58B3AD4-62C2-4E27-B1BE-837BD7C533E0"));
var content = repository.GetByQuery(query).SingleOrDefault();
// Assert
diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
index 058dd0330e..e34cc45c69 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
@@ -39,17 +39,17 @@ namespace Umbraco.Tests.Persistence.Repositories
private ContentRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
{
- var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of());
- var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax);
- contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, templateRepository);
- var repository = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, contentTypeRepository, templateRepository, tagRepository);
+ var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver);
+ var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver);
+ contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, templateRepository, MappingResolver);
+ var repository = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, contentTypeRepository, templateRepository, tagRepository, MappingResolver);
return repository;
}
private ContentTypeRepository CreateRepository(IDatabaseUnitOfWork unitOfWork)
{
- var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of());
- var contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, templateRepository);
+ var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver);
+ var contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, templateRepository, MappingResolver);
return contentTypeRepository;
}
@@ -62,7 +62,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var templateRepo = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of()))
+ using (var templateRepo = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver))
using (var repository = CreateRepository(unitOfWork))
{
var templates = new[]
diff --git a/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs
index 7f75b3fa20..ac7661bf17 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs
@@ -36,7 +36,10 @@ namespace Umbraco.Tests.Persistence.Repositories
CacheHelper.CreateDisabledCacheHelper(),
Mock.Of(), SqlSyntax,
new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax,
- new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of())));
+ new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver),
+ MappingResolver),
+ MappingResolver);
+
return dataTypeDefinitionRepository;
}
@@ -162,7 +165,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.PropertyEditorAlias == Constants.PropertyEditors.RadioButtonListAlias);
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.PropertyEditorAlias == Constants.PropertyEditors.RadioButtonListAlias);
var result = repository.GetByQuery(query);
// Assert
@@ -182,7 +185,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Name.StartsWith("D"));
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Name.StartsWith("D"));
int count = repository.Count(query);
// Assert
@@ -365,7 +368,9 @@ namespace Umbraco.Tests.Persistence.Repositories
cache,
Mock.Of(), SqlSyntax,
new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax,
- new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of())));
+ new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver),
+ MappingResolver),
+ MappingResolver);
DataTypeDefinition dtd;
using (var repository = creator())
@@ -404,7 +409,9 @@ namespace Umbraco.Tests.Persistence.Repositories
cache,
Mock.Of(), SqlSyntax,
new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax,
- new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of())));
+ new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver),
+ MappingResolver),
+ MappingResolver);
DataTypeDefinition dtd;
using (var repository = creator())
diff --git a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs
index c19e0f2eca..38ba19ce64 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs
@@ -29,8 +29,8 @@ namespace Umbraco.Tests.Persistence.Repositories
private DictionaryRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out LanguageRepository languageRepository)
{
- languageRepository = new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax);
- var dictionaryRepository = new DictionaryRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), new SqlCeSyntaxProvider(), languageRepository);
+ languageRepository = new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver);
+ var dictionaryRepository = new DictionaryRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), new SqlCeSyntaxProvider(), languageRepository, MappingResolver);
return dictionaryRepository;
}
@@ -247,7 +247,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.ItemKey == "Article");
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.ItemKey == "Article");
var result = repository.GetByQuery(query);
// Assert
@@ -268,7 +268,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.ItemKey.StartsWith("Read"));
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.ItemKey.StartsWith("Read"));
var result = repository.Count(query);
// Assert
@@ -341,8 +341,8 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- var languageRepository = new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax);
- var repository = new DictionaryRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), new SqlCeSyntaxProvider(), languageRepository);
+ var languageRepository = new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver);
+ var repository = new DictionaryRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), new SqlCeSyntaxProvider(), languageRepository, MappingResolver);
var languageNo = new Language("nb-NO") { CultureName = "nb-NO" };
ServiceContext.LocalizationService.Save(languageNo);
diff --git a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
index 7fa4f8aef0..7905564a6a 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
@@ -21,12 +21,12 @@ namespace Umbraco.Tests.Persistence.Repositories
{
private DomainRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository, out ContentRepository contentRepository, out LanguageRepository languageRepository)
{
- var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of());
- var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax);
- contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, templateRepository);
- contentRepository = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, contentTypeRepository, templateRepository, tagRepository);
- languageRepository = new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax);
- var domainRepository = new DomainRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, contentRepository, languageRepository);
+ var templateRepository = new TemplateRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, Mock.Of(), Mock.Of(), Mock.Of(), MappingResolver);
+ var tagRepository = new TagRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, MappingResolver);
+ contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, templateRepository, MappingResolver);
+ contentRepository = new ContentRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, contentTypeRepository, templateRepository, tagRepository, MappingResolver);
+ languageRepository = new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, MappingResolver);
+ var domainRepository = new DomainRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Logger, SqlSyntax, contentRepository, languageRepository, MappingResolver);
return domainRepository;
}
diff --git a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs
index 653e4a5738..bcad6e0720 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/LanguageRepositoryTest.cs
@@ -28,7 +28,7 @@ namespace Umbraco.Tests.Persistence.Repositories
private LanguageRepository CreateRepository(IDatabaseUnitOfWork unitOfWork)
{
- return new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax);
+ return new LanguageRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver);
}
@@ -170,7 +170,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.IsoCode == "da-DK");
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.IsoCode == "da-DK");
var result = repository.GetByQuery(query);
// Assert
@@ -190,7 +190,7 @@ namespace Umbraco.Tests.Persistence.Repositories
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.IsoCode.StartsWith("D"));
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.IsoCode.StartsWith("D"));
int count = repository.Count(query);
// Assert
diff --git a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs
index fe37a227aa..6ea233aa1a 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/MacroRepositoryTest.cs
@@ -34,7 +34,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var unitOfWork = provider.GetUnitOfWork();
// Act
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = new Macro("test1", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
repository.AddOrUpdate(macro);
@@ -52,7 +52,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var unitOfWork = provider.GetUnitOfWork();
// Act
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = repository.Get(1);
macro.Alias = "test2";
@@ -70,7 +70,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var unitOfWork = provider.GetUnitOfWork();
// Act
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Assert
Assert.That(repository, Is.Not.Null);
@@ -83,7 +83,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
var macro = repository.Get(1);
@@ -113,7 +113,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
var macros = repository.GetAll();
@@ -130,10 +130,10 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Alias.ToUpper() == "TEST1");
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Alias.ToUpper() == "TEST1");
var result = repository.GetByQuery(query);
// Assert
@@ -147,10 +147,10 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
- var query = new Query(SqlSyntax).Where(x => x.Name.StartsWith("Test"));
+ var query = new Query(SqlSyntax, MappingResolver).Where(x => x.Name.StartsWith("Test"));
int count = repository.Count(query);
// Assert
@@ -164,7 +164,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
var macro = new Macro("test", "Test", "~/usercontrol/blah.ascx", "MyAssembly", "test.xslt", "~/views/macropartials/test.cshtml");
@@ -185,7 +185,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
var macro = repository.Get(2);
@@ -226,7 +226,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
var macro = repository.Get(3);
@@ -247,7 +247,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
// Act
var exists = repository.Exists(3);
@@ -265,7 +265,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = repository.Get(1);
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
@@ -292,7 +292,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
@@ -317,7 +317,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
@@ -342,7 +342,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = new Macro("newmacro", "A new macro", "~/usercontrol/test1.ascx", "MyAssembly1", "test1.xslt", "~/views/macropartials/test1.cshtml");
var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
@@ -373,7 +373,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax, MappingResolver))
{
var macro = repository.Get(1);
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
@@ -401,7 +401,7 @@ namespace Umbraco.Tests.Persistence.Repositories
// Arrange
var provider = new PetaPocoUnitOfWorkProvider(Logger);
var unitOfWork = provider.GetUnitOfWork();
- using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of(), SqlSyntax))
+ using (var repository = new MacroRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of