2015-01-19 18:37:48 +11:00
|
|
|
using System;
|
2015-07-23 20:04:40 +02:00
|
|
|
using Umbraco.Core.Events;
|
2015-01-19 18:37:48 +11:00
|
|
|
using Umbraco.Core.Logging;
|
|
|
|
|
using Umbraco.Core.Persistence;
|
2016-11-30 19:23:20 +01:00
|
|
|
using Umbraco.Core.Persistence.Querying;
|
2015-01-19 18:37:48 +11:00
|
|
|
using Umbraco.Core.Persistence.UnitOfWork;
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Core.Services
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
2016-05-02 12:17:30 +02:00
|
|
|
/// Represents a service that works on top of repositories.
|
2015-01-19 18:37:48 +11:00
|
|
|
/// </summary>
|
|
|
|
|
public abstract class RepositoryService : IService
|
|
|
|
|
{
|
|
|
|
|
protected ILogger Logger { get; private set; }
|
2015-07-23 20:04:40 +02:00
|
|
|
protected IEventMessagesFactory EventMessagesFactory { get; private set; }
|
2015-01-19 18:37:48 +11:00
|
|
|
protected IDatabaseUnitOfWorkProvider UowProvider { get; private set; }
|
2015-12-18 13:29:12 +01:00
|
|
|
|
2016-05-02 12:17:30 +02:00
|
|
|
protected RepositoryService(IDatabaseUnitOfWorkProvider provider, ILogger logger, IEventMessagesFactory eventMessagesFactory)
|
2015-01-19 18:37:48 +11:00
|
|
|
{
|
2016-05-02 12:17:30 +02:00
|
|
|
if (provider == null) throw new ArgumentNullException(nameof(provider));
|
|
|
|
|
if (logger == null) throw new ArgumentNullException(nameof(logger));
|
|
|
|
|
if (eventMessagesFactory == null) throw new ArgumentNullException(nameof(eventMessagesFactory));
|
2015-01-19 18:37:48 +11:00
|
|
|
Logger = logger;
|
2015-07-23 20:04:40 +02:00
|
|
|
EventMessagesFactory = eventMessagesFactory;
|
2015-01-19 18:37:48 +11:00
|
|
|
UowProvider = provider;
|
|
|
|
|
}
|
2016-11-30 19:23:20 +01:00
|
|
|
|
|
|
|
|
protected IQuery<T> Query<T>() => UowProvider.DatabaseContext.Query<T>();
|
2015-01-19 18:37:48 +11:00
|
|
|
}
|
|
|
|
|
}
|