Files
Umbraco-CMS/src/Umbraco.Core/Services/RepositoryService.cs

31 lines
1.2 KiB
C#
Raw Normal View History

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