65cd3ed597
This makes resolving dependencies from the container much easier as you cannot resolve with primitives parameters in a way that is any more readable. The aim of this commit is to change as little as possible with the end result, loggers that were newed up for the parent object were given the same name. Objects that used the base or app loggers, were given a new logger with an appropriate name. Also removed some unused dependencies.
62 lines
1.9 KiB
C#
62 lines
1.9 KiB
C#
using System;
|
|
using System.Linq;
|
|
using MediaBrowser.Controller.Library;
|
|
using MediaBrowser.Model.Activity;
|
|
using MediaBrowser.Model.Events;
|
|
using MediaBrowser.Model.Querying;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace Emby.Server.Implementations.Activity
|
|
{
|
|
public class ActivityManager : IActivityManager
|
|
{
|
|
public event EventHandler<GenericEventArgs<ActivityLogEntry>> EntryCreated;
|
|
|
|
private readonly IActivityRepository _repo;
|
|
private readonly ILogger _logger;
|
|
private readonly IUserManager _userManager;
|
|
|
|
public ActivityManager(
|
|
ILoggerFactory loggerFactory,
|
|
IActivityRepository repo,
|
|
IUserManager userManager)
|
|
{
|
|
_logger = loggerFactory.CreateLogger(nameof(ActivityManager));
|
|
_repo = repo;
|
|
_userManager = userManager;
|
|
}
|
|
|
|
public void Create(ActivityLogEntry entry)
|
|
{
|
|
entry.Date = DateTime.UtcNow;
|
|
|
|
_repo.Create(entry);
|
|
|
|
EntryCreated?.Invoke(this, new GenericEventArgs<ActivityLogEntry>(entry));
|
|
}
|
|
|
|
public QueryResult<ActivityLogEntry> GetActivityLogEntries(DateTime? minDate, bool? hasUserId, int? startIndex, int? limit)
|
|
{
|
|
var result = _repo.GetActivityLogEntries(minDate, hasUserId, startIndex, limit);
|
|
|
|
foreach (var item in result.Items.Where(i => !i.UserId.Equals(Guid.Empty)))
|
|
{
|
|
var user = _userManager.GetUserById(item.UserId);
|
|
|
|
if (user != null)
|
|
{
|
|
var dto = _userManager.GetUserDto(user);
|
|
item.UserPrimaryImageTag = dto.PrimaryImageTag;
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public QueryResult<ActivityLogEntry> GetActivityLogEntries(DateTime? minDate, int? startIndex, int? limit)
|
|
{
|
|
return GetActivityLogEntries(minDate, null, startIndex, limit);
|
|
}
|
|
}
|
|
}
|