working on U4-5927 - this extends the base event class to have EventMessages which event consumers can add to, the trick is that there is a factory for these EventMessages, in a web context, the factory is a request based factory so that during a request all instances of the EventMessages are the same instance. All services then accept an instance of IEventMessagesFactory which they can then use when raising events. We'll then use this to send messages to the UI. Not sure if i should make this a resolver yet or not. Still a WIP!!
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Umbraco.Core.Events;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
@@ -11,15 +12,18 @@ namespace Umbraco.Core.Services
|
||||
public abstract class RepositoryService : IService
|
||||
{
|
||||
protected ILogger Logger { get; private set; }
|
||||
protected IEventMessagesFactory EventMessagesFactory { get; private set; }
|
||||
protected RepositoryFactory RepositoryFactory { get; private set; }
|
||||
protected IDatabaseUnitOfWorkProvider UowProvider { get; private set; }
|
||||
|
||||
protected RepositoryService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, ILogger logger)
|
||||
protected RepositoryService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, ILogger logger, IEventMessagesFactory eventMessagesFactory)
|
||||
{
|
||||
if (provider == null) throw new ArgumentNullException("provider");
|
||||
if (repositoryFactory == null) throw new ArgumentNullException("repositoryFactory");
|
||||
if (logger == null) throw new ArgumentNullException("logger");
|
||||
if (eventMessagesFactory == null) throw new ArgumentNullException("eventMessagesFactory");
|
||||
Logger = logger;
|
||||
EventMessagesFactory = eventMessagesFactory;
|
||||
RepositoryFactory = repositoryFactory;
|
||||
UowProvider = provider;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user