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

28 lines
1.0 KiB
C#
Raw Normal View History

2017-07-20 11:21:28 +02:00
using System;
using Umbraco.Core.Events;
using Umbraco.Core.Logging;
2016-11-30 19:23:20 +01:00
using Umbraco.Core.Persistence.Querying;
2017-12-12 15:04:13 +01:00
using Umbraco.Core.Scoping;
namespace Umbraco.Core.Services
{
/// <summary>
/// Represents a service that works on top of repositories.
/// </summary>
public abstract class RepositoryService : IService
{
2017-05-12 14:49:44 +02:00
protected ILogger Logger { get; }
protected IEventMessagesFactory EventMessagesFactory { get; }
2017-12-12 15:04:13 +01:00
protected IScopeProvider ScopeProvider { get; }
2016-12-01 08:29:11 +01:00
2017-12-12 15:04:13 +01:00
protected RepositoryService(IScopeProvider provider, ILogger logger, IEventMessagesFactory eventMessagesFactory)
{
2017-05-12 14:49:44 +02:00
Logger = logger ?? throw new ArgumentNullException(nameof(logger));
EventMessagesFactory = eventMessagesFactory ?? throw new ArgumentNullException(nameof(eventMessagesFactory));
2017-12-12 15:04:13 +01:00
ScopeProvider = provider ?? throw new ArgumentNullException(nameof(provider));
}
2016-11-30 19:23:20 +01:00
2017-12-12 15:04:13 +01:00
protected IQuery<T> Query<T>() => ScopeProvider.SqlContext.Query<T>();
}
2017-07-20 11:21:28 +02:00
}